소스 검색

fix overflow in printf %N$ argument handling

Rich Felker 14 년 전
부모
커밋
2f3d02cd83
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  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;