Do not overwrite pointer "p" when calling is_kernel_type()
authorH. Peter Anvin <hpa@zytor.com>
Sat, 24 Feb 2007 00:37:26 +0000 (16:37 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Sat, 24 Feb 2007 00:37:26 +0000 (16:37 -0800)
If is_kernel_type() returns NULL, we don't want it to set p to NULL,
or subsequent options won't be parsed.

Bug report from Ram Yalamanchili.

com32/modules/readconfig.c

index 183ca85..0f9b7c6 100644 (file)
@@ -532,10 +532,10 @@ static void parse_config_file(FILE *f)
       ld.menulabel = NULL;
       ld.ipappend  = ipappend;
       ld.menudefault = ld.menuhide = 0;
-    } else if ( (p = is_kernel_type(p, &type)) ) {
+    } else if ( (ep = is_kernel_type(p, &type)) ) {
       if ( ld.label ) {
        free(ld.kernel);
-       ld.kernel = strdup(skipspace(p));
+       ld.kernel = strdup(skipspace(ep));
        ld.type = type;
       }
     } else if ( looking_at(p, "timeout") ) {