1 // commit: 9cad27a3dc1a4eb349b6591e4dc8cc89dce32277 2 // ungetc after setvbuf should not clobber memory below buffer 3 #include <stdio.h> 4 #include <string.h> 5 #include "test.h" 6 main(void)7int main(void) 8 { 9 char buf[1024] = "hello world"; 10 setvbuf(stdin, buf+12, _IOFBF, sizeof buf - 12); 11 while (ungetc('x', stdin)!=EOF); 12 if (strcmp(buf, "hello world")) 13 t_error("ungetc clobbered outside buffer: [%.12s]\n", buf); 14 return t_status; 15 } 16