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) {