Dmitry Timoshkov : windowscodecs: IWICMetadataQueryReader:: GetMetadataByName() should accept NULL for returned value.
Alexandre Julliard
julliard at winehq.org
Sun Mar 3 13:21:25 CST 2019
Module: wine
Branch: oldstable
Commit: 7d8d075db6c71122322703bed91cb906894efb86
URL: https://source.winehq.org/git/wine.git/?a=commit;h=7d8d075db6c71122322703bed91cb906894efb86
Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date: Sun Sep 16 18:01:41 2018 +0800
windowscodecs: IWICMetadataQueryReader::GetMetadataByName() should accept NULL for returned value.
Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit 1593f146ec55d96b3e56b1b8688bf32fa1dd9f42)
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
---
dlls/windowscodecs/metadataquery.c | 2 +-
dlls/windowscodecs/tests/metadata.c | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/windowscodecs/metadataquery.c b/dlls/windowscodecs/metadataquery.c
index e338848..a2b5841 100644
--- a/dlls/windowscodecs/metadataquery.c
+++ b/dlls/windowscodecs/metadataquery.c
@@ -589,7 +589,7 @@ static HRESULT WINAPI mqr_GetMetadataByName(IWICMetadataQueryReader *iface, LPCW
PropVariantClear(&tk_id);
PropVariantClear(&tk_schema);
- if (hr == S_OK)
+ if (hr == S_OK && value)
*value = new_value;
else
PropVariantClear(&new_value);
diff --git a/dlls/windowscodecs/tests/metadata.c b/dlls/windowscodecs/tests/metadata.c
index c54d7df..27dee3e 100644
--- a/dlls/windowscodecs/tests/metadata.c
+++ b/dlls/windowscodecs/tests/metadata.c
@@ -1606,6 +1606,10 @@ static void test_metadata_gif(void)
if (winetest_debug > 1)
trace("query: %s\n", decoder_data[i].query);
MultiByteToWideChar(CP_ACP, 0, decoder_data[i].query, -1, queryW, 256);
+
+ hr = IWICMetadataQueryReader_GetMetadataByName(queryreader, queryW, NULL);
+ ok(hr == decoder_data[i].hr, "GetMetadataByName(%s) returned %#x, expected %#x\n", wine_dbgstr_w(queryW), hr, decoder_data[i].hr);
+
PropVariantInit(&value);
hr = IWICMetadataQueryReader_GetMetadataByName(queryreader, queryW, &value);
ok(hr == decoder_data[i].hr, "GetMetadataByName(%s) returned %#x, expected %#x\n", wine_dbgstr_w(queryW), hr, decoder_data[i].hr);
More information about the wine-cvs
mailing list