Marcus Meissner : gdiplus: Avoid uninitialized usage of bitmap (Coverity).

Alexandre Julliard julliard at winehq.org
Mon Sep 3 13:19:15 CDT 2012


Module: wine
Branch: master
Commit: 5ae8629fca1eefc6cc16d5c8843e0888205ff179
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5ae8629fca1eefc6cc16d5c8843e0888205ff179

Author: Marcus Meissner <meissner at suse.de>
Date:   Mon Sep  3 18:56:47 2012 +0200

gdiplus: Avoid uninitialized usage of bitmap (Coverity).

---

 dlls/gdiplus/image.c |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c
index c3a542b..b657969 100644
--- a/dlls/gdiplus/image.c
+++ b/dlls/gdiplus/image.c
@@ -3124,17 +3124,19 @@ static GpStatus decode_image_wic(IStream* stream, REFCLSID clsid, UINT active_fr
             IWICBitmapSource_Release(source);
         }
 
-        bitmap->metadata_reader = NULL;
-        if (IWICBitmapFrameDecode_QueryInterface(frame, &IID_IWICMetadataBlockReader, (void **)&block_reader) == S_OK)
-        {
-            UINT block_count = 0;
-            if (IWICMetadataBlockReader_GetCount(block_reader, &block_count) == S_OK && block_count)
-                IWICMetadataBlockReader_GetReaderByIndex(block_reader, 0, &bitmap->metadata_reader);
-            IWICMetadataBlockReader_Release(block_reader);
-        }
+        if (SUCCEEDED(hr)) {
+            bitmap->metadata_reader = NULL;
+            if (IWICBitmapFrameDecode_QueryInterface(frame, &IID_IWICMetadataBlockReader, (void **)&block_reader) == S_OK)
+            {
+                UINT block_count = 0;
+                if (IWICMetadataBlockReader_GetCount(block_reader, &block_count) == S_OK && block_count)
+                    IWICMetadataBlockReader_GetReaderByIndex(block_reader, 0, &bitmap->metadata_reader);
+                IWICMetadataBlockReader_Release(block_reader);
+            }
 
-        palette = get_palette(frame, palette_type);
-        IWICBitmapFrameDecode_Release(frame);
+            palette = get_palette(frame, palette_type);
+            IWICBitmapFrameDecode_Release(frame);
+        }
     }
 
     IWICBitmapDecoder_Release(decoder);




More information about the wine-cvs mailing list