[U-Boot] [RFC][PATCH] Prevent crash if random DTB address is passed to bootm

Anatolij Gustschin agust at denx.de
Fri Aug 29 21:04:45 CEST 2008


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 at denx.de>
---
 common/cmd_bootm.c |    3 ++-
 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;
 		}
 
-- 
1.5.3.3



More information about the U-Boot mailing list