diff options
| author | Wolfgang Denk <wd@pollux.denx.de> | 2006-03-12 02:20:55 +0100 | 
|---|---|---|
| committer | Wolfgang Denk <wd@pollux.denx.de> | 2006-03-12 02:20:55 +0100 | 
| commit | 1264b4050c6f635cc237b5821f924817457ce50c (patch) | |
| tree | da63ef53f8f1b1c823fef6f4c595400bc12ede84 /common/main.c | |
| parent | 6cb142fa3b732a2cea257ca39ef4a7dbe81a32e1 (diff) | |
| download | olio-uboot-2014.01-1264b4050c6f635cc237b5821f924817457ce50c.tar.xz olio-uboot-2014.01-1264b4050c6f635cc237b5821f924817457ce50c.zip | |
Avoid dereferencing NULL in find_cmd() if no valid commands were found
Patch by Andrew Dyer, 13 Jun 2005
Diffstat (limited to 'common/main.c')
| -rw-r--r-- | common/main.c | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/common/main.c b/common/main.c index f042f3a63..445cb1849 100644 --- a/common/main.c +++ b/common/main.c @@ -919,7 +919,10 @@ int run_command (const char *cmd, int flag)  		process_macros (token, finaltoken);  		/* Extract arguments */ -		argc = parse_line (finaltoken, argv); +		if ((argc = parse_line (finaltoken, argv)) == 0) { +			rc = -1;	/* no command at all */ +			continue; +		}  		/* Look up command in command table */  		if ((cmdtp = find_cmd(argv[0])) == NULL) { @@ -945,9 +948,9 @@ int run_command (const char *cmd, int flag)  				puts ("'bootd' recursion detected\n");  				rc = -1;  				continue; -			} -			else +			} else {  				flag |= CMD_FLAG_BOOTD; +			}  		}  #endif	/* CFG_CMD_BOOTD */ |