From 90f235342571364a574f701ed33ebc563142c0ec Mon Sep 17 00:00:00 2001 From: Christian Schneider Date: Wed, 15 May 2019 07:59:05 +0200 Subject: [PATCH] Change order of allocation and image descriptor check in GIF code - Fixes #100 - Improves speed when processing invalid GIF files or false positives --- precomp.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/precomp.cpp b/precomp.cpp index ccaf8f7..a064d2c 100644 --- a/precomp.cpp +++ b/precomp.cpp @@ -6212,6 +6212,10 @@ bool decompress_gif(FILE* srcfile, FILE* dstfile, long long src_pos, int& gif_le switch (RecordType) { case IMAGE_DESC_RECORD_TYPE: + if (DGifGetImageDesc(myGifFile) == GIF_ERROR) { + return d_gif_error(ScreenBuff, myGifFile); + } + if (ScreenBuff == NULL) { ScreenBuff = alloc_gif_screenbuf(myGifFile); if (!ScreenBuff) { @@ -6220,10 +6224,6 @@ bool decompress_gif(FILE* srcfile, FILE* dstfile, long long src_pos, int& gif_le } } - if (DGifGetImageDesc(myGifFile) == GIF_ERROR) { - return d_gif_error(ScreenBuff, myGifFile); - } - srcfile_pos = tell_64(srcfile); if (last_pos != srcfile_pos) { if (last_pos == -1) {