Browse Source

fix overflow in printf %N$ argument handling

Rich Felker 14 years ago
parent
commit
2f3d02cd83
1 changed files with 2 additions and 2 deletions
  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;