b = ecalloc(1, len + 1);
- if (php_stream_seek(stream, 5, SEEK_CUR))
+ if (php_stream_seek(stream, 5, SEEK_CUR)) {
+ efree(b);
return NULL;
+ }
- if (php_stream_read(stream, (char *) a, sizeof(a)) != sizeof(a))
+ if (php_stream_read(stream, (char *) a, sizeof(a)) != sizeof(a)) {
+ efree(b);
return NULL;
+ }
if (uncompress(b, &len, a, sizeof(a)) != Z_OK) {
/* failed to decompress the file, will try reading the rest of the file */
if (php_stream_seek(stream, 8, SEEK_SET)) {
+ efree(b);
return NULL;
}
bufz = php_stream_copy_to_mem(stream, PHP_STREAM_COPY_ALL, 0);
if (!bufz) {
+ efree(b);
return NULL;
}