Bug path

test_2
‘test_2’: events 1-5
38 void *ptr = malloc (16);
^~~~~~~~~~~
|
(1) allocated here
[...]
42 if (flag)
~
|
(2) following ‘true’ branch (when ‘flag != 0’)...
43 free (ptr);
~~~~~~~~~~
|
(3) ...to here
(4) first ‘free’ here
[...]
55 free (ptr); /* { dg-warning "double-'free' of 'ptr'" } */
~~~~~~~~~~
|
(5) second ‘free’ here; first ‘free’ was at (4)