mirror of
https://github.com/github/codeql.git
synced 2026-05-03 04:39:29 +02:00
C++: Exclude deallocation functions as scanf result accesses
This commit is contained in:
@@ -19,6 +19,11 @@ FILE *get_a_stream();
|
||||
const char *get_a_string();
|
||||
extern locale_t get_a_locale();
|
||||
|
||||
typedef long size_t;
|
||||
|
||||
void *malloc(size_t size);
|
||||
void free(void *ptr);
|
||||
|
||||
int main()
|
||||
{
|
||||
// --- simple cases ---
|
||||
@@ -78,6 +83,22 @@ int main()
|
||||
use(i); // GOOD
|
||||
}
|
||||
|
||||
{
|
||||
int *i = (int*)malloc(sizeof(int)); // Allocated variable
|
||||
|
||||
scanf("%d", i);
|
||||
use(*i); // BAD
|
||||
free(i); // GOOD
|
||||
}
|
||||
|
||||
{
|
||||
int *i = new int; // Allocated variable
|
||||
|
||||
scanf("%d", i);
|
||||
use(*i); // BAD
|
||||
delete i; // GOOD
|
||||
}
|
||||
|
||||
// --- different scanf functions ---
|
||||
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user