fix overflow in printf %N$ argument handling
authorRich Felker <dalias@aerifal.cx>
Tue, 5 Apr 2011 13:24:03 +0000 (09:24 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 5 Apr 2011 13:24:03 +0000 (09:24 -0400)
src/stdio/vfprintf.c

index 2245d1da5dedeed4eb698098c4faaf502b6c4597..a8cf41b666c9520fc407ca810fd260d9693dd7f4 100644 (file)
@@ -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;