diff options
author | Wolfgang Denk <wd@denx.de> | 2012-10-30 09:19:52 +0000 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2012-11-02 15:13:29 -0700 |
commit | d266f669252a5ebd7e9b940743ec7d05cdbd4061 (patch) | |
tree | 2b20fba97ddb65ff1750181dca496a57ed0d18db | |
parent | 085b9c3a1dfa3f29cf2bb34f434be318ba313f57 (diff) | |
download | u-boot-imx-d266f669252a5ebd7e9b940743ec7d05cdbd4061.zip u-boot-imx-d266f669252a5ebd7e9b940743ec7d05cdbd4061.tar.gz u-boot-imx-d266f669252a5ebd7e9b940743ec7d05cdbd4061.tar.bz2 |
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.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/vsprintf.c b/lib/vsprintf.c index d762763..dd13bca 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) { |