Module: wine Branch: master Commit: d2df3c2c21f02a23a5c852c83f26e2bd7483d80f URL: https://gitlab.winehq.org/wine/wine/-/commit/d2df3c2c21f02a23a5c852c83f26e2b...
Author: Hans Leidekker hans@codeweavers.com Date: Mon Feb 26 15:23:51 2024 +0100
netprofm: Set return pointer to NULL in networks_enum_Next().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56271
---
dlls/netprofm/list.c | 2 ++ dlls/netprofm/tests/list.c | 7 +++++++ 2 files changed, 9 insertions(+)
diff --git a/dlls/netprofm/list.c b/dlls/netprofm/list.c index d6eb1265ac5..31534c7f4b9 100644 --- a/dlls/netprofm/list.c +++ b/dlls/netprofm/list.c @@ -812,6 +812,8 @@ static HRESULT WINAPI networks_enum_Next(
TRACE( "%p, %lu %p %p\n", iter, count, ret, fetched );
+ if (!ret) return E_POINTER; + *ret = NULL; if (fetched) *fetched = 0; if (!count) return S_OK;
diff --git a/dlls/netprofm/tests/list.c b/dlls/netprofm/tests/list.c index 05b6851a2d8..bb3d0f59be8 100644 --- a/dlls/netprofm/tests/list.c +++ b/dlls/netprofm/tests/list.c @@ -381,14 +381,21 @@ static void test_INetworkListManager( void ) hr = INetworkListManager_GetNetworks( mgr, NLM_ENUM_NETWORK_ALL, &network_iter ); ok( hr == S_OK, "got %08lx\n", hr ); ok(network_iter != NULL, "network_iter not set\n"); + hr = IEnumNetworks_Next( network_iter, 0, NULL, NULL ); + ok( hr == E_POINTER, "got %08lx\n", hr ); + network = (INetwork *)0xdeadbeef; while ((hr = IEnumNetworks_Next( network_iter, 1, &network, NULL )) == S_OK) { + ok( network != (INetwork *)0xdeadbeef, "network not set\n" ); connected = 1; hr = INetwork_get_IsConnected( network, &connected ); ok( hr == S_OK, "got %08lx\n", hr ); ok( connected == -1 || connected == 0, "got %d\n", connected ); INetwork_Release( network ); + network = (INetwork *)0xdeadbeef; } + ok( hr == S_FALSE, "got %08lx\n", hr ); + ok( network == NULL, "network not set\n" ); IEnumNetworks_Release( network_iter );
hr = INetworkListManager_GetNetworks( mgr, NLM_ENUM_NETWORK_CONNECTED, &network_iter );