From 9b5cde85a2b28deeb30c5a19ced3ecbb25381b42 Mon Sep 17 00:00:00 2001 From: Eric Pouech Date: Mon, 23 Jun 2003 03:32:28 +0000 Subject: [PATCH] Fixed a few bugs in network interface handling (code & test). --- dlls/iphlpapi/iphlpapi_main.c | 2 +- dlls/netapi32/tests/wksta.c | 2 +- dlls/netapi32/wksta.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c index 829ec76fa85..2ef5b3150ac 100644 --- a/dlls/iphlpapi/iphlpapi_main.c +++ b/dlls/iphlpapi/iphlpapi_main.c @@ -352,7 +352,7 @@ DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen) toIPAddressString(getInterfaceMaskByIndex(table->indexes[ndx]), ptr->IpAddressList.IpMask.String); if (ndx < table->numIndexes + 1) - ptr->Next = &pAdapterInfo[ndx + 1]; + ptr->Next = (ndx == table->numIndexes - 1) ? NULL : &pAdapterInfo[ndx + 1]; } ret = NO_ERROR; } diff --git a/dlls/netapi32/tests/wksta.c b/dlls/netapi32/tests/wksta.c index 2b99f2a935c..12e278b19ea 100644 --- a/dlls/netapi32/tests/wksta.c +++ b/dlls/netapi32/tests/wksta.c @@ -162,7 +162,7 @@ static void run_wkstatransportenum_tests(void) ok(bufPtr != NULL, "got data back"); ok(entriesRead > 0, "read at least one transport"); ok(totalEntries > 0, "at least one transport"); - NetApiBufferFree(bufPtr); + pNetApiBufferFree(bufPtr); } } diff --git a/dlls/netapi32/wksta.c b/dlls/netapi32/wksta.c index 32adb7c2b08..0c61e00bbb9 100644 --- a/dlls/netapi32/wksta.c +++ b/dlls/netapi32/wksta.c @@ -156,9 +156,9 @@ NetWkstaTransportEnum(LPCWSTR ServerName, DWORD level, LPBYTE* pbuf, for (n_adapt = 0, ptr = info; ptr; ptr = ptr->Next) n_adapt++; - size_needed = n_adapt * (sizeof(WKSTA_TRANSPORT_INFO_0) + size_needed = n_adapt * sizeof(WKSTA_TRANSPORT_INFO_0) + n_adapt * TRANSPORT_NAME_LEN * sizeof (WCHAR) - + n_adapt * 13 * sizeof (WCHAR)); + + n_adapt * 13 * sizeof (WCHAR); if (prefmaxlen == MAX_PREFERRED_LENGTH) NetApiBufferAllocate( size_needed, (LPVOID *) pbuf); else -- 2.11.4.GIT