Fix MenuNameToItem
authorH.G. Muller <h.g.muller@hccnet.nl>
Tue, 17 Apr 2012 12:15:15 +0000 (14:15 +0200)
committerH.G. Muller <h.g.muller@hccnet.nl>
Tue, 17 Apr 2012 12:15:15 +0000 (14:15 +0200)
This function could crash when called with ann argument that did not
contain a period, while the idea was that it should handle this as if the
item is in noMenu (for user-specified key binding to non-menu funtions).

menus.c

diff --git a/menus.c b/menus.c
index d5744f7..f786eda 100644 (file)
--- a/menus.c
+++ b/menus.c
@@ -869,14 +869,14 @@ Menu menuBar[] = {
 MenuItem *
 MenuNameToItem (char *menuName)
 {
-    int i;
+    int i=0;
     char buf[MSG_SIZ], *p;
     MenuItem *menuTab;
     static MenuItem a = { NULL, NULL, NothingProc };
     extern Option mainOptions[];
     safeStrCpy(buf, menuName, MSG_SIZ);
     p = strchr(buf, '.');
-    if(!p) menuTab = noMenu; else {
+    if(!p) menuTab = noMenu, p = menuName; else {
        *p++ = NULLCHAR;
        for(i=0; menuBar[i].name; i++)
            if(!strcmp(buf, menuBar[i].name)) break;