]>
Commit | Line | Data |
---|---|---|
92a42be0 SL |
1 | // RUN: %clang_safestack %s -o %t |
2 | // RUN: %run %t | |
3 | ||
4 | #include "utils.h" | |
5 | ||
6 | // Test that loads/stores work correctly for variables on the unsafe stack. | |
7 | ||
8 | int main(int argc, char **argv) | |
9 | { | |
10 | int i; | |
11 | char buffer[128]; | |
12 | ||
13 | // check that we can write to a buffer | |
14 | for (i = 0; argv[0][i] && i < sizeof (buffer) - 1; ++i) | |
15 | buffer[i] = argv[0][i]; | |
16 | buffer[i] = '\0'; | |
17 | ||
18 | break_optimization(buffer); | |
19 | ||
20 | // check that we can read from a buffer | |
21 | for (i = 0; argv[0][i] && i < sizeof (buffer) - 1; ++i) | |
22 | if (buffer[i] != argv[0][i]) | |
23 | return 1; | |
24 | return 0; | |
25 | } |