Module: wine Branch: master Commit: ea6118e9b740c8f0ede866b45b71b162c6f315e5 URL: https://source.winehq.org/git/wine.git/?a=commit;h=ea6118e9b740c8f0ede866b45...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Tue Feb 19 12:07:36 2019 +0800
windowscodecs: Fail earlier in TIFF decoder's Initialize method for unsupported pixel formats.
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru Signed-off-by: Vincent Povirk vincent@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/windowscodecs/tiffformat.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/dlls/windowscodecs/tiffformat.c b/dlls/windowscodecs/tiffformat.c index 58cd04e..3bc8d69 100644 --- a/dlls/windowscodecs/tiffformat.c +++ b/dlls/windowscodecs/tiffformat.c @@ -638,6 +638,7 @@ static HRESULT WINAPI TiffDecoder_Initialize(IWICBitmapDecoder *iface, IStream * { TiffDecoder *This = impl_from_IWICBitmapDecoder(iface); TIFF *tiff; + tiff_decode_info decode_info; HRESULT hr=S_OK;
TRACE("(%p,%p,%x)\n", iface, pIStream, cacheOptions); @@ -651,13 +652,20 @@ static HRESULT WINAPI TiffDecoder_Initialize(IWICBitmapDecoder *iface, IStream * }
tiff = tiff_open_stream(pIStream, "r"); - if (!tiff) { hr = E_FAIL; goto exit; }
+ /* make sure that TIFF format is supported */ + hr = tiff_get_decode_info(tiff, &decode_info); + if (hr != S_OK) + { + pTIFFClose(tiff); + goto exit; + } + This->tiff = tiff; This->stream = pIStream; IStream_AddRef(pIStream);