Files
codeql/cpp/ql/test/query-tests/Critical/OverflowStatic/test.c
2018-08-02 17:53:23 +01:00

30 lines
620 B
C

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)
}