diff options
| author | Anatolij Gustschin <agust@denx.de> | 2008-08-29 21:04:45 +0200 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2008-09-07 00:17:32 +0200 | 
| commit | 8e02494e8f86c8f2d7324b5eb9e75271104a01ef (patch) | |
| tree | 511abb597d72daf34ffddce2ff0326fc52adf958 /common | |
| parent | cc347801add2689b1ee54d21f62bc14ecf6e1dd8 (diff) | |
Prevent crash if random DTB address is passed to bootm
This patch adds bootm_start() return value check. If
error status is returned, we do not proceed further to
prevent board reset or crash as we still can recover
at this point.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Diffstat (limited to 'common')
| -rw-r--r-- | common/cmd_bootm.c | 3 | ||||
| -rw-r--r-- | common/image.c | 2 | 
2 files changed, 3 insertions, 2 deletions
| diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 0db7b75bac5..374085ca38f 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -361,7 +361,8 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  	ulong		load_end = 0;  	int		ret; -	bootm_start(cmdtp, flag, argc, argv); +	if (bootm_start(cmdtp, flag, argc, argv)) +		return 1;  	/*  	 * We have reached the point of no return: we are going to diff --git a/common/image.c b/common/image.c index 55c4ccec8bc..0acdcf132a6 100644 --- a/common/image.c +++ b/common/image.c @@ -1516,7 +1516,7 @@ int boot_get_fdt (int flag, int argc, char *argv[], bootm_headers_t *images,  			}  			break;  		default: -			fdt_error ("Did not find a cmdline Flattened Device Tree"); +			puts ("ERROR: Did not find a cmdline Flattened Device Tree\n");  			goto error;  		} | 
