Bug path

test
‘test’: events 1-3
14 Byte *compr = (Byte*)calloc((uInt)comprLen, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~
|
(1) allocated here
15 Byte *uncompr = (Byte*)calloc((uInt)uncomprLen, 1);
16 if (compr == Z_NULL || uncompr == Z_NULL)
~
|
(2) assuming ‘compr’ is non-NULL
(3) following ‘false’ branch (when ‘compr’ is non-NULL)...
‘test’: event 4
16 if (compr == Z_NULL || uncompr == Z_NULL)
^
|
(4) ...to here
‘test’: events 5-7
16 if (compr == Z_NULL || uncompr == Z_NULL)
^
|
(5) following ‘false’ branch (when ‘uncompr’ is non-NULL)...
[...]
21 strcpy((char*)uncompr, "garbage");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
(6) ...to here
22 return 0; /* { dg-warning "leak of 'uncompr'" "uncompr leak" } */
~
|
(7) ‘compr’ leaks here; was allocated at (1)