mirror of
https://github.com/github/codeql.git
synced 2025-12-16 08:43:11 +01:00
C++: Use appropriate sizeof in CWE-119 memcpy tests
Signed-off-by: Mingjie Shen <shen497@purdue.edu>
This commit is contained in:
@@ -30,10 +30,10 @@ void test2()
|
||||
char *smallbuffer = (char *)malloc(sizeof(char) * 10);
|
||||
char *bigbuffer = (char *)malloc(sizeof(char) * 20);
|
||||
|
||||
memcpy(bigbuffer, smallbuffer, 10); // GOOD
|
||||
memcpy(bigbuffer, smallbuffer, 20); // BAD: over-read
|
||||
memcpy(smallbuffer, bigbuffer, 10); // GOOD
|
||||
memcpy(smallbuffer, bigbuffer, 20); // BAD: over-write
|
||||
memcpy(bigbuffer, smallbuffer, sizeof(char) * 10); // GOOD
|
||||
memcpy(bigbuffer, smallbuffer, sizeof(char) * 20); // BAD: over-read
|
||||
memcpy(smallbuffer, bigbuffer, sizeof(char) * 10); // GOOD
|
||||
memcpy(smallbuffer, bigbuffer, sizeof(char) * 20); // BAD: over-write
|
||||
|
||||
free(bigbuffer);
|
||||
free(smallbuffer);
|
||||
@@ -46,10 +46,10 @@ void test3()
|
||||
smallbuffer = new char[10];
|
||||
bigbuffer = new char[20];
|
||||
|
||||
memcpy(bigbuffer, smallbuffer, 10); // GOOD
|
||||
memcpy(bigbuffer, smallbuffer, 20); // BAD: over-read
|
||||
memcpy(smallbuffer, bigbuffer, 10); // GOOD
|
||||
memcpy(smallbuffer, bigbuffer, 20); // BAD: over-write
|
||||
memcpy(bigbuffer, smallbuffer, sizeof(char[10])); // GOOD
|
||||
memcpy(bigbuffer, smallbuffer, sizeof(char[20])); // BAD: over-read
|
||||
memcpy(smallbuffer, bigbuffer, sizeof(char[10])); // GOOD
|
||||
memcpy(smallbuffer, bigbuffer, sizeof(char[20])); // BAD: over-write
|
||||
|
||||
delete [] bigbuffer;
|
||||
delete [] smallbuffer;
|
||||
|
||||
Reference in New Issue
Block a user