From 5ae8629fca1eefc6cc16d5c8843e0888205ff179 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Mon, 3 Sep 2012 18:56:47 +0200 Subject: [PATCH] gdiplus: Avoid uninitialized usage of bitmap (Coverity). --- dlls/gdiplus/image.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c index c3a542bccfa..b657969ce9e 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);