forked from github/codeql
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.c
More file actions
29 lines (23 loc) · 620 Bytes
/
test.c
File metadata and controls
29 lines (23 loc) · 620 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
char xs[5];
struct {
char ys[5];
char zs[0];
} stru;
void f(void) {
char c;
c = xs[-1]; // BAD [NOT DETECTED]
c = xs[0]; // GOOD
c = xs[4]; // GOOD
c = xs[5]; // BAD
c = xs[6]; // BAD
c = stru.ys[-1]; // BAD [NOT DETECTED]
c = stru.ys[0]; // GOOD
c = stru.ys[4]; // GOOD
c = stru.ys[5]; // BAD
c = stru.ys[6]; // BAD
c = stru.zs[-1]; // BAD [NOT DETECTED]
c = stru.zs[0]; // GOOD (zs is variable size)
c = stru.zs[4]; // GOOD (zs is variable size)
c = stru.zs[5]; // GOOD (zs is variable size)
c = stru.zs[6]; // GOOD (zs is variable size)
}