From patchwork Tue Oct 30 19:19:52 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [U-Boot] lib/vsprintf.c: don't special-case pointers to address null Date: Tue, 30 Oct 2012 09:19:52 -0000 From: Wolfgang Denk X-Patchwork-Id: 195606 Message-Id: <1351624792-13853-1-git-send-email-wd@denx.de> To: u-boot@lists.denx.de Cc: Tom Rini , Jerry Van Baren 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 --- lib/vsprintf.c | 6 ++++++ 1 file changed, 6 insertions(+) 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) {