1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2025-04-21 12:27:27 +03:00

[package] nvram: fix crash when get, set or unset is invoked without argument (#7263)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21288 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
jow
2010-05-02 00:45:03 +00:00
parent ec79a3d916
commit a1dcc39e13
2 changed files with 26 additions and 14 deletions

View File

@@ -165,20 +165,32 @@ int main( int argc, const char *argv[] )
stat = do_info(nvram);
done++;
}
else if( !strcmp(argv[i], "get") && ++i < argc )
else if( !strcmp(argv[i], "get") || !strcmp(argv[i], "unset") || !strcmp(argv[i], "set") )
{
stat = do_get(nvram, argv[i]);
done++;
}
else if( !strcmp(argv[i], "unset") && ++i < argc )
{
stat = do_unset(nvram, argv[i]);
done++;
}
else if( !strcmp(argv[i], "set") && ++i < argc )
{
stat = do_set(nvram, argv[i]);
done++;
if( (i+1) < argc )
{
switch(argv[i++][0])
{
case 'g':
stat = do_get(nvram, argv[i]);
break;
case 'u':
stat = do_unset(nvram, argv[i]);
break;
case 's':
stat = do_set(nvram, argv[i]);
break;
}
done++;
}
else
{
fprintf(stderr, "Command '%s' requires an argument!\n", argv[i]);
done = 0;
break;
}
}
else if( !strcmp(argv[i], "commit") )
{