From: Wolfgang Denk Date: Sun, 12 Mar 2006 01:20:55 +0000 (+0100) Subject: Avoid dereferencing NULL in find_cmd() if no valid commands were found X-Git-Tag: LABEL_2006_04_18_1106~7^2~32 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=1264b4050c6f635cc237b5821f924817457ce50c;p=u-boot Avoid dereferencing NULL in find_cmd() if no valid commands were found Patch by Andrew Dyer, 13 Jun 2005 --- diff --git a/CHANGELOG b/CHANGELOG index 20e875aabf..2348df63c0 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,9 @@ Changes since U-Boot 1.1.4: ====================================================================== +* Avoid dereferencing NULL in find_cmd() if no valid commands were found + Patch by Andrew Dyer, 13 Jun 2005 + * Add ADI Blackfin support - add support for Analog Devices Blackfin BF533 CPU - add support for the ADI BF533 Stamp uClinux board diff --git a/common/main.c b/common/main.c index f042f3a636..445cb18491 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 */