#include <stdlib.h> | |
void ddd ( char* x ) | |
{ | |
free(x); | |
free(x); | |
} | |
void ccc (char* x) | |
{ | |
ddd(x); | |
} | |
void bbb (char* x) | |
{ | |
ccc(x); | |
} | |
void aaa (char* x) | |
{ | |
bbb(x); | |
} | |
void ok_to_suppress_double_free_from_this_fun(char* y) | |
{ | |
aaa(y); | |
} | |
int main ( int argc, char*argv[] ) | |
{ | |
char* x = malloc(10); | |
char* y = malloc(10); | |
if (argc > 1) | |
ok_to_suppress_double_free_from_this_fun(y); | |
aaa(x); | |
return 0; | |
} |