From: BangLang Huang Date: Fri, 24 Feb 2017 02:52:52 +0000 (+0800) Subject: nvram: improve argument check when program start X-Git-Tag: v17.01.5~176 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=118a2ea0bcdfb3895dfdec9fe4b98be5325d6386 nvram: improve argument check when program start print help message when argument count is less than 2. Signed-off-by: BangLang Huang (cherry picked from commit c7e2a6fe923dc86bab14d94ead322a045efca4c9) --- diff --git a/package/utils/nvram/src/cli.c b/package/utils/nvram/src/cli.c index 149d307474..538bdce648 100644 --- a/package/utils/nvram/src/cli.c +++ b/package/utils/nvram/src/cli.c @@ -155,15 +155,16 @@ int main( int argc, const char *argv[] ) int done = 0; int i; + if( argc < 2 ) { + usage(); + return 1; + } + /* Ugly... iterate over arguments to see whether we can expect a write */ - for( i = 1; i < argc; i++ ) - if( ( !strcmp(argv[i], "set") && ++i < argc ) || - ( !strcmp(argv[i], "unset") && ++i < argc ) || - !strcmp(argv[i], "commit") ) - { - write = 1; - break; - } + if( ( !strcmp(argv[1], "set") && 2 < argc ) || + ( !strcmp(argv[1], "unset") && 2 < argc ) || + !strcmp(argv[1], "commit") ) + write = 1; nvram = write ? nvram_open_staging() : nvram_open_rdonly();