Browse Source

hw/core/loader: gunzip(): fix memory leak on error path

We should call inflateEnd() like on success path to cleanup state in s
variable.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
pull/286/head
Vladimir Sementsov-Ogievskiy 2 years ago
committed by Michael Tokarev
parent
commit
f22855dffd
  1. 1
      hw/core/loader.c

1
hw/core/loader.c

@ -610,6 +610,7 @@ ssize_t gunzip(void *dst, size_t dstlen, uint8_t *src, size_t srclen)
r = inflate(&s, Z_FINISH);
if (r != Z_OK && r != Z_STREAM_END) {
printf ("Error: inflate() returned %d\n", r);
inflateEnd(&s);
return -1;
}
dstbytes = s.next_out - (unsigned char *) dst;

Loading…
Cancel
Save