public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] fdt: Check if the FDT address is configured
@ 2012-09-05  6:34 Marek Vasut
  2012-09-13  1:48 ` Jerry Van Baren
  2012-09-15 13:41 ` Jerry Van Baren
  0 siblings, 2 replies; 6+ messages in thread
From: Marek Vasut @ 2012-09-05  6:34 UTC (permalink / raw)
  To: u-boot

In case the "fdt addr" command wasn't ran yet and any other "fdt"
subcommand was issued, the system crashed due to NULL pointer being
used.

This is caused by "fdt addr" command setting up a pointer to the
FDT memory location. Prior issuing "fdt addr", the pointer is NULL
so calling any other subcommands crashed the u-boot.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Simon Glass <sjg@chromium.org>
---
 common/cmd_fdt.c |   13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

Note: Damn, I'm falling asleep already :-( I hope the text above at
      least makes sense though.

diff --git a/common/cmd_fdt.c b/common/cmd_fdt.c
index 9a5c53e..e2225c4 100644
--- a/common/cmd_fdt.c
+++ b/common/cmd_fdt.c
@@ -114,10 +114,21 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 			}
 		}
 
+		return CMD_RET_SUCCESS;
+	}
+
+	if (!working_fdt) {
+		puts(
+			"No FDT memory address configured. Please configure\n"
+			"the FDT address via \"fdt addr <address>\" command.\n"
+			"Aborting!\n");
+		return CMD_RET_FAILURE;
+	}
+
 	/*
 	 * Move the working_fdt
 	 */
-	} else if (strncmp(argv[1], "mo", 2) == 0) {
+	if (strncmp(argv[1], "mo", 2) == 0) {
 		struct fdt_header *newaddr;
 		int  len;
 		int  err;
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-09-15 13:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-05  6:34 [U-Boot] [PATCH] fdt: Check if the FDT address is configured Marek Vasut
2012-09-13  1:48 ` Jerry Van Baren
2012-09-13  8:30   ` Marek Vasut
2012-09-13 17:37     ` Tom Rini
2012-09-13 22:16       ` Jerry Van Baren
2012-09-15 13:41 ` Jerry Van Baren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox