diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c index 90101f706c1..d6e568fa6ce 100644 --- a/dlls/iphlpapi/iphlpapi_main.c +++ b/dlls/iphlpapi/iphlpapi_main.c @@ -768,7 +768,7 @@ static ULONG adapterAddressesFromIndex(ULONG family, DWORD index, IP_ADAPTER_ADD total_size = sizeof(IP_ADAPTER_ADDRESSES); total_size += IF_NAMESIZE; - total_size += IF_NAMESIZE * sizeof(WCHAR); + total_size += 2 * IF_NAMESIZE * sizeof(WCHAR); total_size += sizeof(IP_ADAPTER_UNICAST_ADDRESS) * num_v4addrs; total_size += sizeof(struct sockaddr_in) * num_v4addrs; total_size += (sizeof(IP_ADAPTER_GATEWAY_ADDRESS) + sizeof(SOCKADDR_IN)) * num_v4_gateways; @@ -796,6 +796,11 @@ static ULONG adapterAddressesFromIndex(ULONG family, DWORD index, IP_ADAPTER_ADD *dst = *src; *dst++ = 0; ptr = (char *)dst; + aa->Description = (WCHAR *)ptr; + for (src = name, dst = (WCHAR *)ptr; *src; src++, dst++) + *dst = *src; + *dst++ = 0; + ptr = (char *)dst; TRACE("%s: %d IPv4 addresses, %d IPv6 addresses:\n", name, num_v4addrs, num_v6addrs);