diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 2e83fb847..e289ce405 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -1032,7 +1032,10 @@ ImagingLibTiffEncode(Imaging im, ImagingCodecState state, UINT8 *buffer, int byt TRACE(("Encode Error, row %d\n", state->y)); state->errcode = IMAGING_CODEC_BROKEN; - if (!clientstate->fp) { + if (clientstate->fp) { + TIFFCleanup(tiff); + clientstate->tiff = NULL; + } else { free(clientstate->data); } return -1;