diff --git a/hw/core/loader.c b/hw/core/loader.c index 19edb928e999c73fe1f8170db63201b884817163..8389860679b3b9988a1fd78dccfdcee172503b33 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -605,6 +605,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;