Commit 75e6ccdc authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Fix 2 NULL pointer dereferences

Only use menu_int after checking it's not NULL. Fixes problems in !ResTest when opening menus with menu class items in them.

Version 0.40. Tagged as 'Menu-0_40'
parent 087cc02b
/* (0.39)
/* (0.40)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 0.39
#define Module_MajorVersion_CMHG 0.40
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 14 Oct 2015
#define Module_Date_CMHG 01 Nov 2015
#define Module_MajorVersion "0.39"
#define Module_Version 39
#define Module_MajorVersion "0.40"
#define Module_Version 40
#define Module_MinorVersion ""
#define Module_Date "14 Oct 2015"
#define Module_Date "01 Nov 2015"
#define Module_ApplicationDate "14-Oct-15"
#define Module_ApplicationDate "01-Nov-15"
#define Module_ComponentName "Menu"
#define Module_ComponentPath "castle/RiscOS/Sources/Toolbox/Menu"
#define Module_FullVersion "0.39"
#define Module_HelpVersion "0.39 (14 Oct 2015)"
#define Module_LibraryVersionInfo "0:39"
#define Module_FullVersion "0.40"
#define Module_HelpVersion "0.40 (01 Nov 2015)"
#define Module_LibraryVersionInfo "0:40"
......@@ -241,7 +241,6 @@ _kernel_oserror *event_help_request (wimp_Message message_block, TaskDescriptor
}
object_id = menu_int->hdr.object_id;
while (*(pposition+1) != -1) {
int_entry = menu_internal_entry (menu_int,*pposition++);
......@@ -339,7 +338,7 @@ _kernel_oserror *event_menu_warning (wimp_Message message_block, TaskDescriptor
Menu_SubMenu_Event
*menu_sm;
ToolboxEvent toolbox_event;
ObjectID object_id = global_menu.top->hdr.object_id;
ObjectID object_id;
ObjectID submenu;
ComponentID component_id;
DisplayInfo *coords;
......@@ -353,6 +352,7 @@ _kernel_oserror *event_menu_warning (wimp_Message message_block, TaskDescriptor
return NULL;
}
object_id = menu_int->hdr.object_id;
while (*(pposition+1) != -1) {
int_entry = menu_internal_entry (menu_int,*pposition++);
......@@ -479,7 +479,7 @@ _kernel_oserror *event_menu_selection (int *menu_tree, TaskDescriptor *t, IDBloc
MenuInternal *menu_int = global_menu.top;
MenuInternalEntry *int_entry;
int *pposition = menu_tree;
ObjectID object_id = global_menu.top->hdr.object_id;
ObjectID object_id;
ObjectID submenu;
ComponentID component_id;
int click_event;
......@@ -496,6 +496,7 @@ _kernel_oserror *event_menu_selection (int *menu_tree, TaskDescriptor *t, IDBloc
/* We're not handling a menu OR menu tree too short! */
return NULL;
}
while (*(pposition+1) != -1) {
DEBUG debug_output ("e","Menu: position %d\n",*pposition);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment