Skip to content

Commit 01ba635

Browse files
committed
CPP: Add some test cases involving dataflow.
1 parent dc224c5 commit 01ba635

File tree

1 file changed

+21
-0
lines changed
  • cpp/ql/test/query-tests/Critical/OverflowStatic

1 file changed

+21
-0
lines changed

cpp/ql/test/query-tests/Critical/OverflowStatic/test.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,24 @@ void f1(void)
2525
memcpy(buffer2, buffer1, 3); // GOOD
2626
memcpy(buffer2, buffer1, 4); // BAD
2727
}
28+
29+
void f2(char *src)
30+
{
31+
char buffer[100];
32+
char *ptr;
33+
int amount;
34+
35+
amount = 100;
36+
memcpy(buffer, src, amount); // GOOD
37+
amount = amount + 1;
38+
memcpy(buffer, src, amount); // BAD [NOT DETECTED]
39+
amount = 101;
40+
memcpy(buffer, src, amount); // BAD [NOT DETECTED]
41+
42+
ptr = buffer;
43+
memcpy(ptr, src, 101); // BAD [NOT DETECTED]
44+
ptr = &(buffer[0]);
45+
memcpy(ptr, src, 101); // BAD [NOT DETECTED]
46+
ptr = &(buffer[1]);
47+
memcpy(ptr, src, 100); // BAD [NOT DETECTED]
48+
}

0 commit comments

Comments
 (0)