diff options
author | horwitz <horwitz@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2009-06-18 14:48:52 +0000 |
---|---|---|
committer | horwitz <horwitz@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2009-06-18 14:48:52 +0000 |
commit | ae9b63b804b187ff0d660f30e5cf1094c376d5d5 (patch) | |
tree | 9ca752c72bb0e5059359b39c409524ddd009c6e8 /navit/popup.c | |
parent | c6064369be770e6443634d23bbed2ecf7c69e9d0 (diff) | |
download | navit-svn-ae9b63b804b187ff0d660f30e5cf1094c376d5d5.tar.gz |
Fix:Core:Fix coverity bug #39, Pointer 'diitem' dereferenced before NULL check.
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@2346 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/popup.c')
-rw-r--r-- | navit/popup.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/navit/popup.c b/navit/popup.c index 2b8611d4..704ad7b1 100644 --- a/navit/popup.c +++ b/navit/popup.c @@ -252,6 +252,8 @@ popup_show_item(struct navit *nav, void *popup, struct displayitem *di) label=graphics_displayitem_get_label(di); diitem=graphics_displayitem_get_item(di); + dbg_assert(diitem); + if (label) menu=popup_printf(popup, menu_type_submenu, "%s '%s'", item_to_name(diitem->type), label); else @@ -259,7 +261,7 @@ popup_show_item(struct navit *nav, void *popup, struct displayitem *di) menu_item=popup_printf(menu, menu_type_submenu, "Item"); popup_printf(menu_item, menu_type_menu, "type: 0x%x", diitem->type); popup_printf(menu_item, menu_type_menu, "id: 0x%x 0x%x", diitem->id_hi, diitem->id_lo); - if (diitem && diitem->map) { + if (diitem->map) { mr=map_rect_new(diitem->map,NULL); item=map_rect_get_item_byid(mr, diitem->id_hi, diitem->id_lo); dbg(1,"item=%p\n", item); @@ -284,7 +286,7 @@ popup_show_item(struct navit *nav, void *popup, struct displayitem *di) } else { popup_printf(menu, menu_type_menu, "(No map)"); } - if (diitem && item_get_default_flags(diitem->type)) { + if (item_get_default_flags(diitem->type)) { int speeds[]={5,10,20,30,40,50,60,70,80,90,100}; int delays[]={1,2,3,5,10,15,20,30,45,60,75,90,120,150,180,240,300}; int i; @@ -299,7 +301,6 @@ popup_show_item(struct navit *nav, void *popup, struct displayitem *di) popup_printf_cb(menu_item, menu_type_menu, callback_new_2(callback_cast(popup_traffic_distortion_delay), diitem, delays[i]*600), "%d min",delays[i]); } } - } static void |