summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2018-06-18 08:08:20 -0600
committerAlexander Graf <agraf@suse.de>2018-07-25 14:57:44 +0200
commitd7ae1609a9d5a76235978e34de0e9928979af781 (patch)
treeb367e3de78e421c8e682b0629d70c310e7f806a6 /lib
parent282a06cbcae84acd86125210dbd54a10ff41e809 (diff)
downloadu-boot-d7ae1609a9d5a76235978e34de0e9928979af781.tar.gz
u-boot-d7ae1609a9d5a76235978e34de0e9928979af781.tar.xz
u-boot-d7ae1609a9d5a76235978e34de0e9928979af781.zip
vsprintf: Handle NULL with %pU
At present a NULL pointer passed to printf for a %pU argument will cause U-Boot to access memory at 0. Fix this by adding a check, and print "(null)" instead. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Alexander Graf <agraf@suse.de> [agraf: s/(null)/<NULL>/] Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/vsprintf.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index 8b1b29fb5a..914fbd30cb 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -407,7 +407,10 @@ static char *uuid_string(char *buf, char *end, u8 *addr, int field_width,
break;
}
- uuid_bin_to_str(addr, uuid, str_format);
+ if (addr)
+ uuid_bin_to_str(addr, uuid, str_format);
+ else
+ strcpy(uuid, "<NULL>");
return string(buf, end, uuid, field_width, precision, flags);
}