Bug path

test
‘test’: events 1-2
15 Byte *uncompr = (Byte*)calloc((uInt)uncomprLen, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
|
(1) allocated here
16 if (compr == Z_NULL || uncompr == Z_NULL)
~
|
(2) following ‘false’ branch (when ‘compr’ is non-NULL)...
‘test’: event 3
16 if (compr == Z_NULL || uncompr == Z_NULL)
^
|
(3) ...to here
‘test’: event 4
16 if (compr == Z_NULL || uncompr == Z_NULL)
^
|
(4) assuming ‘uncompr’ is non-NULL
‘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) ‘uncompr’ leaks here; was allocated at (1)