add ungetc with setvbuf test
authorSzabolcs Nagy <nsz@port70.net>
Sun, 15 Jul 2018 21:20:21 +0000 (21:20 +0000)
committerSzabolcs Nagy <nsz@port70.net>
Sun, 15 Jul 2018 21:20:21 +0000 (21:20 +0000)
src/regression/setvbuf-unget.c [new file with mode: 0644]

diff --git a/src/regression/setvbuf-unget.c b/src/regression/setvbuf-unget.c
new file mode 100644 (file)
index 0000000..8667675
--- /dev/null
@@ -0,0 +1,15 @@
+// commit: 9cad27a3dc1a4eb349b6591e4dc8cc89dce32277
+// ungetc after setvbuf should not clobber memory below buffer
+#include <stdio.h>
+#include <string.h>
+#include "test.h"
+
+int main(void)
+{
+       char buf[1024] = "hello world";
+       setvbuf(stdin, buf+12, _IOFBF, sizeof buf - 12);
+       while (ungetc('x', stdin)!=EOF);
+       if (strcmp(buf, "hello world"))
+               t_error("ungetc clobbered outside buffer: [%.12s]\n", buf);
+       return t_status;
+}