leak of ‘ptr [-Wanalyzer-malloc-leak]
7 do_something (x); // { dg-warning "leak" }
~~~~~~~~~~~~~^~~
int outer(int)
int outer(int): events 1-3
13 int outer (int x)
^~~~~
|
(1) entry to ‘outer’
14 {
15 void *ptr = __builtin_malloc (1024); // { dg-message "allocated here" }
~~~~~~~~~~~~~~~~~~~~~~~
|
(2) allocated here
16
17 int rval = inner (x);
~~~~~~~~~
|
(3) calling ‘inner’ from ‘outer’
int inner(int)
int inner(int): events 4-6
5 int inner (int x)
^~~~~
|
(4) entry to ‘inner’
6 {
7 do_something (x); // { dg-warning "leak" }
~~~~~~~~~~~~~~~~
|
(5) if ‘void do_something(int)’ throws an exception...
(6) ⚠️ ‘ptr’ leaks here; was allocated at (2)