[PATCH twm 3/3] Add extra sanity checking to avoid possible NULL dereferences

Jeremy Huddleston jeremyhu at apple.com
Wed May 11 22:44:23 PDT 2011


menus.c:569:10: warning: Access to field 'func' results in a dereference of a null pointer (loaded from variable 'ActiveItem')
            if (ActiveItem->func != F_TITLE && !ActiveItem->state)
                ^~~~~~~~~~

Found-by: clang static analyzer
Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
---
 src/menus.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/menus.c b/src/menus.c
index 395426f..1bf32bf 100644
--- a/src/menus.c
+++ b/src/menus.c
@@ -569,7 +569,7 @@ UpdateMenu()
 	if (!done)
 	{
 	    ActiveItem = mi;
-	    if (ActiveItem->func != F_TITLE && !ActiveItem->state)
+	    if (ActiveItem && ActiveItem->func != F_TITLE && !ActiveItem->state)
 	    {
 		ActiveItem->state = 1;
 		PaintEntry(ActiveMenu, ActiveItem, False);
@@ -577,7 +577,7 @@ UpdateMenu()
 	}
 
 	/* now check to see if we were over the arrow of a pull right entry */
-	if (ActiveItem->func == F_MENU && 
+	if (ActiveItem && ActiveItem->func == F_MENU && 
 	    ((ActiveMenu->width - x) < (ActiveMenu->width >> 1)))
 	{
 	    MenuRoot *save = ActiveMenu;
-- 
1.7.4.4




More information about the xorg-devel mailing list