[PATCH 1/3] dmime/tests: Fix a memory leak (Valgrind).
Signed-off-by: Sven Baars <sven.wine(a)gmail.com> --- dlls/dmime/tests/performance.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dlls/dmime/tests/performance.c b/dlls/dmime/tests/performance.c index c4cbb32e18..567de1e7f1 100644 --- a/dlls/dmime/tests/performance.c +++ b/dlls/dmime/tests/performance.c @@ -315,6 +315,9 @@ static void test_createport(void) ok(port == NULL, "Get IDirectMusicPort pointer? %p\n", port); ok(portparams.dwValidParams == 0, "portparams struct was filled in?\n"); + hr = IDirectMusicPerformance8_CloseDown(perf); + ok(hr == S_OK, "CloseDown failed: %08x\n", hr); + IDirectMusic_Release(music); IDirectMusicPerformance_Release(perf); } -- 2.17.1
Signed-off-by: Sven Baars <sven.wine(a)gmail.com> --- dlls/dinput/tests/dinput.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dlls/dinput/tests/dinput.c b/dlls/dinput/tests/dinput.c index cb7268908c..23b20d2b9e 100644 --- a/dlls/dinput/tests/dinput.c +++ b/dlls/dinput/tests/dinput.c @@ -604,10 +604,14 @@ static void test_DirectInputJoyConfig8(void) "IDirectInputJoyConfig8_GetConfig returned 0x%08x\n", hr); if (SUCCEEDED(hr)) - ok (SUCCEEDED(IDirectInput_CreateDevice(pDI, &info.guidInstance, &pDID, NULL)), - "IDirectInput_CreateDevice failed with guid from GetConfig hr = 0x%08x\n", hr); + { + hr = IDirectInput_CreateDevice(pDI, &info.guidInstance, &pDID, NULL); + ok (SUCCEEDED(hr), "IDirectInput_CreateDevice failed with guid from GetConfig hr = 0x%08x\n", hr); + IDirectInputDevice_Release(pDID); + } } + IDirectInputJoyConfig8_Release(pDIJC); IDirectInput_Release(pDI); } -- 2.17.1
Signed-off-by: Sven Baars <sven.wine(a)gmail.com> --- dlls/dinput/dinput_main.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dlls/dinput/dinput_main.c b/dlls/dinput/dinput_main.c index 7074704d7a..54777da2d9 100644 --- a/dlls/dinput/dinput_main.c +++ b/dlls/dinput/dinput_main.c @@ -1104,10 +1104,12 @@ static HRESULT WINAPI IDirectInput8AImpl_EnumDevicesBySemantics( if (lpCallback(&didevis[i], lpdid, callbackFlags, --remain, pvRef) == DIENUM_STOP) { + IDirectInputDevice_Release(lpdid); HeapFree(GetProcessHeap(), 0, didevis); HeapFree(GetProcessHeap(), 0, username_w); return DI_OK; } + IDirectInputDevice_Release(lpdid); } HeapFree(GetProcessHeap(), 0, didevis); @@ -1130,9 +1132,11 @@ static HRESULT WINAPI IDirectInput8AImpl_EnumDevicesBySemantics( if (lpCallback(&didevi, lpdid, callbackFlags, --remain, pvRef) == DIENUM_STOP) { + IDirectInputDevice_Release(lpdid); HeapFree(GetProcessHeap(), 0, username_w); return DI_OK; } + IDirectInputDevice_Release(lpdid); } } -- 2.17.1
Hi, While running your changed tests on Windows, 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=46831 Your paranoid android. === debian9 (64 bit WoW report) === dinput: mouse.c:173: Test failed: GetDeviceData() failed: 00000000 cnt:0
On 1/29/19 12:10 AM, Sven Baars wrote:
Signed-off-by: Sven Baars <sven.wine(a)gmail.com> Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org>
--- dlls/dmime/tests/performance.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/dlls/dmime/tests/performance.c b/dlls/dmime/tests/performance.c index c4cbb32e18..567de1e7f1 100644 --- a/dlls/dmime/tests/performance.c +++ b/dlls/dmime/tests/performance.c @@ -315,6 +315,9 @@ static void test_createport(void) ok(port == NULL, "Get IDirectMusicPort pointer? %p\n", port); ok(portparams.dwValidParams == 0, "portparams struct was filled in?\n");
+ hr = IDirectMusicPerformance8_CloseDown(perf); + ok(hr == S_OK, "CloseDown failed: %08x\n", hr); + IDirectMusic_Release(music); IDirectMusicPerformance_Release(perf); }
participants (3)
-
Marvin -
Michael Stefaniuc -
Sven Baars