From 118a2ea0bcdfb3895dfdec9fe4b98be5325d6386 Mon Sep 17 00:00:00 2001 From: BangLang Huang Date: Fri, 24 Feb 2017 10:52:52 +0800 Subject: [PATCH] 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) --- package/utils/nvram/src/cli.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) 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(); -- 2.25.1