aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2012-10-30 09:19:52 +0000
committerTom Rini <trini@ti.com>2012-11-02 15:13:29 -0700
commitd266f669252a5ebd7e9b940743ec7d05cdbd4061 (patch)
tree2b20fba97ddb65ff1750181dca496a57ed0d18db
parent085b9c3a1dfa3f29cf2bb34f434be318ba313f57 (diff)
downloadu-boot-linaro-stable-d266f669252a5ebd7e9b940743ec7d05cdbd4061.tar.gz
lib/vsprintf.c: don't special-case pointers to address null
The %p format of printf() would print a pointer to address null as "(null)". This makes sense in a real OS where a NULL pointer must never be dereferenced, but this is a bootloader, and there are cases where accessing the data at address null makes perfect sense. Remove the special case in lib/vsprintf.c using "#if 0" with a comment to make clear this was an intentional change and to stop re-adding this code. Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
-rw-r--r--lib/vsprintf.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index d7627632d..dd13bca5a 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -495,9 +495,15 @@ static char *ip4_addr_string(char *buf, char *end, u8 *addr, int field_width,
static char *pointer(const char *fmt, char *buf, char *end, void *ptr,
int field_width, int precision, int flags)
{
+ /*
+ * Being a boot loader, we explicitly allow pointers to
+ * (physical) address null.
+ */
+#if 0
if (!ptr)
return string(buf, end, "(null)", field_width, precision,
flags);
+#endif
#ifdef CONFIG_CMD_NET
switch (*fmt) {