1 #include <stdlib.h>
2
3 struct ture {
4 int a;
5 };
6
7 void func (void)
8 {
9 void *x;
10
11 x = malloc(sizeof(struct ture));
12 x->a = 1;
13
14 if (x->a)
15 free(x);
16
17 free(x);
18
19 return 0;
20 }
21 /*
22 * check-name: double free test #2
23 * check-command: smatch sm_double_free2.c
24 *
25 * check-output-start
26 sm_double_free2.c:17 func() error: double free of 'x'
27 * check-output-end
28 */