Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43387 Signed-off-by: Sven Baars sven.wine@gmail.com --- This patch supersedes 168755
dlls/windowscodecs/tests/metadata.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/dlls/windowscodecs/tests/metadata.c b/dlls/windowscodecs/tests/metadata.c index b434648fe5..e8c16fc4a9 100644 --- a/dlls/windowscodecs/tests/metadata.c +++ b/dlls/windowscodecs/tests/metadata.c @@ -2637,7 +2637,8 @@ static HRESULT WINAPI mdr_GetValue(IWICMetadataReader *iface, const PROPVARIANT if (!lstrcmpA(U(*id).pszVal, current_metadata_block->item[i].id_str)) { value->vt = VT_LPSTR; - U(*value).pszVal = the_best; + U(*value).pszVal = CoTaskMemAlloc(strlen(the_best)+1); + strcpy(U(*value).pszVal, the_best); return S_OK; } break; @@ -2652,7 +2653,8 @@ static HRESULT WINAPI mdr_GetValue(IWICMetadataReader *iface, const PROPVARIANT if (!lstrcmpA(idA, current_metadata_block->item[i].id_str)) { value->vt = VT_LPSTR; - U(*value).pszVal = the_worst; + U(*value).pszVal = CoTaskMemAlloc(strlen(the_worst)+1); + strcpy(U(*value).pszVal, the_worst); return S_OK; } break; @@ -3037,10 +3039,7 @@ static void test_queryreader(void) ok(U(value).uiVal == test_data[i].value, "%u: expected %u, got %u\n", i, test_data[i].value, U(value).uiVal); } - - /* - * Do NOT call PropVariantClear(&value) for fake value types. - */ + PropVariantClear(&value); } }
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=55615
Your paranoid android.
=== wxppro (32 bit report) ===
windowscodecs: 0944:metadata: unhandled exception c0000005 at 771544CD
=== w2003std (32 bit report) ===
windowscodecs: 01e8:metadata: unhandled exception c0000005 at 7D1118D4
=== wvistau64 (32 bit report) ===
windowscodecs: 0654:metadata: unhandled exception c0000005 at 76493E74
=== wvistau64_zh_CN (32 bit report) ===
windowscodecs: 0a68:metadata: unhandled exception c0000005 at 75683E74
=== wvistau64_fr (32 bit report) ===
windowscodecs: 09fc:metadata: unhandled exception c0000005 at 75D43E74
=== wvistau64_he (32 bit report) ===
windowscodecs: 0b28:metadata: unhandled exception c0000005 at 76A03E74
=== w2008s64 (32 bit report) ===
windowscodecs: 07f0:metadata: unhandled exception c0000005 at 7673B8C7
=== w7u (32 bit report) ===
windowscodecs: 0cf0:metadata: unhandled exception c0000005 at 75D63E8D
=== w7pro64 (32 bit report) ===
windowscodecs: 0a78:metadata: unhandled exception c0000005 at 7796DF36
=== w8 (32 bit report) ===
windowscodecs: 0d18:metadata: unhandled exception c0000005 at 770A3E02
=== w8adm (32 bit report) ===
windowscodecs: 0cc4:metadata: unhandled exception c0000005 at 74E93E02
=== w864 (32 bit report) ===
windowscodecs: 09e8:metadata: unhandled exception c0000005 at 770A3E02
=== w1064v1507 (32 bit report) ===
windowscodecs: 0c28:metadata: unhandled exception c0000005 at 75C99270
=== w1064v1809 (32 bit report) ===
windowscodecs: 16cc:metadata: unhandled exception c0000005 at 770A0ED4
=== wvistau64 (64 bit report) ===
windowscodecs: 08dc:metadata: unhandled exception c0000005 at 000007FEFE333403
=== w2008s64 (64 bit report) ===
windowscodecs: 0390:metadata: unhandled exception c0000005 at 000007FEFEC622A9
=== w7pro64 (64 bit report) ===
windowscodecs: 0a70:metadata: unhandled exception c0000005 at 000007FEFDBE1FD5
=== w864 (64 bit report) ===
windowscodecs: 0a28:metadata: unhandled exception c0000005 at 00007FFB23CD1405
=== w1064v1507 (64 bit report) ===
windowscodecs: 038c:metadata: unhandled exception c0000005 at 00007FFB6B61F141
=== w1064v1809 (64 bit report) ===
windowscodecs: 11c4:metadata: unhandled exception c0000005 at 00007FFC4E6DB72D
I suppose the first patch (168755) is better anyway, since the "else" case tests still crash on Windows. So for the purpose of this test there will always be special cases.