[PATCH 1/3] bootm: fix uImage crashes when no partition is given

Lucas Stach dev at lynxeye.de
Fri Feb 26 11:12:37 PST 2016


From: Lucas Stach <l.stach at pengutronix.de>

Before the conversion to use the partition string instead of a plain
integer the default was partition 0, now it's just a NULL pointer.

There are a lot of places where strtoul is called on the partition string
which crashes when encountering the NULL pointer. Instead of fixing all
those places, plug in a default partition string that matches the old
behavior by picking partition 0.

Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
---
 common/bootm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/common/bootm.c b/common/bootm.c
index 7d00f8e..1f99b61 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -465,6 +465,8 @@ static void bootm_print_info(struct image_data *data)
 		printf("OS image not yet relocated\n");
 }
 
+static char part_zero[] = "0";
+
 static int bootm_image_name_and_part(const char *name, char **filename, char **part)
 {
 	char *at, *ret;
@@ -475,7 +477,7 @@ static int bootm_image_name_and_part(const char *name, char **filename, char **p
 	ret = xstrdup(name);
 
 	*filename = ret;
-	*part = NULL;
+	*part = part_zero;
 
 	at = strchr(ret, '@');
 	if (!at)
-- 
2.5.0




More information about the barebox mailing list