mirror of
https://github.com/github/codeql.git
synced 2026-05-05 21:55:19 +02:00
QL code and tests for C#/C++/JavaScript.
This commit is contained in:
27
cpp/ql/test/query-tests/Critical/OverflowStatic/test.cpp
Normal file
27
cpp/ql/test/query-tests/Critical/OverflowStatic/test.cpp
Normal file
@@ -0,0 +1,27 @@
|
||||
|
||||
typedef unsigned int size_t;
|
||||
|
||||
void *memcpy(void *dest, const void *src, size_t count);
|
||||
|
||||
void f1(void)
|
||||
{
|
||||
char buffer1[3];
|
||||
char buffer2[] = {'a', 'b', 'c'};
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
buffer1[i] = 0; // GOOD
|
||||
buffer2[i] = 0; // GOOD
|
||||
}
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
buffer1[i] = 0; // BAD
|
||||
buffer2[i] = 0; // BAD
|
||||
}
|
||||
|
||||
memcpy(buffer1, buffer2, 3); // GOOD
|
||||
memcpy(buffer1, buffer2, 4); // BAD
|
||||
memcpy(buffer2, buffer1, 3); // GOOD
|
||||
memcpy(buffer2, buffer1, 4); // BAD
|
||||
}
|
||||
Reference in New Issue
Block a user