Dmitry Timoshkov : windowscodecs: Fail earlier in TIFF decoder' s Initialize method for unsupported pixel formats.

Alexandre Julliard julliard at winehq.org
Wed Feb 20 16:37:00 CST 2019


Module: wine
Branch: master
Commit: ea6118e9b740c8f0ede866b45b71b162c6f315e5
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=ea6118e9b740c8f0ede866b45b71b162c6f315e5

Author: Dmitry Timoshkov <dmitry at 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 at baikal.ru>
Signed-off-by: Vincent Povirk <vincent at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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);




More information about the wine-cvs mailing list