[PATCH 1/3] bootm: fix uImage crashes when no partition is given
Sascha Hauer
s.hauer at pengutronix.de
Sun Feb 28 23:48:13 PST 2016
On Fri, Feb 26, 2016 at 08:12:37PM +0100, Lucas Stach wrote:
> 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.
This was my first approach aswell, but I didn't like the static "0"
string, so I came up with
http://lists.infradead.org/pipermail/barebox/2016-February/026368.html
Sascha
>
> 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
>
>
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list