don't crash on null strings in printf

passing null pointer for %s is UB but lots of broken programs do it anyway
This commit is contained in:
Rich Felker 2011-09-28 22:07:58 -04:00
parent de543b05c8
commit 5f814682b4

View File

@ -584,7 +584,7 @@ static int printf_core(FILE *f, const char *fmt, va_list *ap, union arg *nl_arg,
case 'm':
if (1) a = strerror(errno); else
case 's':
a = arg.p;
a = arg.p ? arg.p : "(null)";
z = memchr(a, 0, p);
if (!z) z=a+p;
else p=z-a;