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 | |
parent | cc347801add2689b1ee54d21f62bc14ecf6e1dd8 (diff) | |
download | u-boot-imx-8e02494e8f86c8f2d7324b5eb9e75271104a01ef.zip u-boot-imx-8e02494e8f86c8f2d7324b5eb9e75271104a01ef.tar.gz u-boot-imx-8e02494e8f86c8f2d7324b5eb9e75271104a01ef.tar.bz2 |
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>
-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 0db7b75..374085c 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 55c4cce..0acdcf1 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; } |