1
2#include <stdlib.h>
3
4void ddd ( char* x )
5{
6  free(x);
7  free(x);
8}
9
10void ccc (char* x)
11{
12  ddd(x);
13}
14
15void bbb (char* x)
16{
17  ccc(x);
18}
19
20void aaa (char* x)
21{
22  bbb(x);
23}
24
25void ok_to_suppress_double_free_from_this_fun(char* y)
26{
27  aaa(y);
28}
29
30int main ( int argc, char*argv[] )
31{
32   char* x = malloc(10);
33   char* y = malloc(10);
34   if (argc > 1)
35      ok_to_suppress_double_free_from_this_fun(y);
36   aaa(x);
37   return 0;
38}
39