From e4564e4b985cc9cf4e53eca3152b869843247cf2 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Fri, 2 Sep 2016 23:33:43 +0200 Subject: [PATCH] improve fix --- ext/standard/image.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ext/standard/image.c b/ext/standard/image.c index c5616d1119..480246ab97 100644 --- a/ext/standard/image.c +++ b/ext/standard/image.c @@ -207,18 +207,16 @@ static struct gfxinfo *php_handle_swc(php_stream * stream) unsigned char *b, *buf = NULL; zend_string *bufz; - b = ecalloc(1, len + 1); - if (php_stream_seek(stream, 5, SEEK_CUR)) { - efree(b); return NULL; } if (php_stream_read(stream, (char *) a, sizeof(a)) != sizeof(a)) { - efree(b); return NULL; } + b = ecalloc(1, len + 1); + 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)) { -- 2.50.1