]> git.proxmox.com Git - rustc.git/blob - src/compiler-rt/test/msan/Linux/forkpty.cc
New upstream version 1.19.0+dfsg1
[rustc.git] / src / compiler-rt / test / msan / Linux / forkpty.cc
1 // RUN: %clangxx_msan -O0 -g %s -lutil -o %t && %run %t
2
3 #include <assert.h>
4 #include <pty.h>
5 #include <unistd.h>
6 #include <cstring>
7
8 #include <sanitizer/msan_interface.h>
9
10 int
11 main (int argc, char** argv)
12 {
13 int master, slave;
14 openpty(&master, &slave, NULL, NULL, NULL);
15 assert(__msan_test_shadow(&master, sizeof(master)) == -1);
16 assert(__msan_test_shadow(&slave, sizeof(slave)) == -1);
17
18 char ttyname[255];
19 ttyname_r(master, ttyname, sizeof(ttyname));
20 assert(__msan_test_shadow(ttyname, strlen(ttyname) + 1) == -1);
21
22 int master2;
23 forkpty(&master2, NULL, NULL, NULL);
24 assert(__msan_test_shadow(&master2, sizeof(master2)) == -1);
25 }