Bladeren bron

don't crash on null strings in printf

passing null pointer for %s is UB but lots of broken programs do it anyway
Rich Felker 13 jaren geleden
bovenliggende
commit
5f814682b4
1 gewijzigde bestanden met toevoegingen van 1 en 1 verwijderingen
  1. 1 1
      src/stdio/vfprintf.c

+ 1 - 1
src/stdio/vfprintf.c

@@ -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;