Explorar o código

fix overflow in printf %N$ argument handling

Rich Felker %!s(int64=14) %!d(string=hai) anos
pai
achega
2f3d02cd83
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      src/stdio/vfprintf.c

+ 2 - 2
src/stdio/vfprintf.c

@@ -633,8 +633,8 @@ static int printf_core(FILE *f, const char *fmt, va_list *ap, union arg *nl_arg,
 int vfprintf(FILE *f, const char *fmt, va_list ap)
 {
 	va_list ap2;
-	int nl_type[NL_ARGMAX] = {0};
-	union arg nl_arg[NL_ARGMAX];
+	int nl_type[NL_ARGMAX+1] = {0};
+	union arg nl_arg[NL_ARGMAX+1];
 	unsigned char internal_buf[80], *saved_buf = 0;
 	int ret;