From: Wolfgang Denk Date: Tue, 30 Oct 2012 09:19:52 +0000 (+0000) Subject: lib/vsprintf.c: don't special-case pointers to address null X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=d266f669252a5ebd7e9b940743ec7d05cdbd4061;p=u-boot.git 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 Acked-by: Joe Hershberger --- diff --git a/lib/vsprintf.c b/lib/vsprintf.c index d7627632d0..dd13bca5a7 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) {