[PATCH] windowscodecs/tests: Allocate strings so PropVariantClear can be called (Valgrind).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43387 Signed-off-by: Sven Baars <sven.wine(a)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); } } -- 2.17.1
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.
participants (2)
-
Marvin -
Sven Baars