| 16 | | if ((arr[i] = (struct foo *)malloc(sizeof(struct foo))) == NULL) { |
| | | ^ |
| | | | |
| | | (11) following ‘true’ branch... ─>─┐ |
| | | │ |
| | | │ |
| | ┌ | ──────────────────────────────────────────┘ |
| 17 | │ | for (; i >= 0; i--) { |
| | │ | ~~~ ~~~~~~ |
| | │ | | | |
| | │ | | (13) following ‘true’ branch (when ‘i >= 0’)... ─>─┐ |
| | └ | ─────>(12) ...to here │ |
| | | │ |
| | | │ |
| | ┌ | ──────────────────────────────────────────────────────────────────┘ |
| 18 | │ | free(arr[i]); /* { dg-bogus "double-'free'" } */ |
| | │ | ~ |
| | │ | | |
| | └ | ───────────────>(14) ...to here |
| 19 | | } |
| 20 | | free(arr); /* { dg-bogus "leak" "" { xfail *-*-* } } */ |
| | | ~~~~~~~~~ |
| | | | |
| | | (15) ⚠️ ‘<unknown>’ leaks here; was allocated at (5)
|