blob: 57c6d02b02c5d865fe72048833b9e15d5a66230a [file] [log] [blame]
/* write() and read() out of bounds */
#include <unistd.h>
#include <string.h>
#include <assert.h>
#define BUFSZ 10
int main()
{
int fds[2];
char buffer1[BUFSZ], buffer2[BUFSZ];
pipe(fds);
memset(buffer2, 'a', BUFSZ);
buffer2[BUFSZ - 1] = '\0';
write(fds[1], buffer2, BUFSZ + 1);
read(fds[0], buffer1, BUFSZ + 1);
assert(strcmp(buffer1, buffer2) == 0);
close(fds[0]);
close(fds[1]);
return 0;
}