diff --git a/dll/win32/iphlpapi/address.c b/dll/win32/iphlpapi/address.c index e3ac92588c5..42652869b0f 100644 --- a/dll/win32/iphlpapi/address.c +++ b/dll/win32/iphlpapi/address.c @@ -558,9 +558,25 @@ GetAdaptersAddresses( /* In case of failure (or no name) */ if (FriendlySize == 0) { - CurrentAA->FriendlyName[0] = L'\0'; - /* Next items */ - Ptr = (BYTE*)(CurrentAA->FriendlyName + 1); + /* Check if we are the Loopback adapter to fixup FriendlyName. + * Compare must be synced with 'Loopback->Name.Buffer' in + * drivers\network\tcpip\ip\network\loopback.c ~Line 125. */ + if (strcmp(CurrentAA->AdapterName, "ReactOS Loopback") == 0) + { + WCHAR Loopback[255] = { 0 }; + MultiByteToWideChar(CP_UTF8, 0, CurrentAA->AdapterName, + strlen(CurrentAA->AdapterName), Loopback, 255); + DWORD ValueSize = strlen(CurrentAA->AdapterName) * 2 + sizeof(WCHAR); + wcscpy(CurrentAA->FriendlyName, Loopback); + CurrentAA->FriendlyName[wcslen(Loopback)] = UNICODE_NULL; + Ptr = (BYTE*)(CurrentAA->FriendlyName + (ValueSize / sizeof(WCHAR))); + } + else + { + CurrentAA->FriendlyName[0] = L'\0'; + /* Next items */ + Ptr = (BYTE*)(CurrentAA->FriendlyName + 1); + } } } diff --git a/drivers/network/tcpip/ip/network/loopback.c b/drivers/network/tcpip/ip/network/loopback.c index 815abebb05b..a3ecf52cabe 100644 --- a/drivers/network/tcpip/ip/network/loopback.c +++ b/drivers/network/tcpip/ip/network/loopback.c @@ -122,7 +122,10 @@ NDIS_STATUS LoopRegisterAdapter( Loopback->MTU = 16384; - Loopback->Name.Buffer = L"Loopback"; + /* Here we set the default Loopback AdapterName. + * This must be synced with the Loopback Compare AdapterName in + * dll\win32\iphlpapi\address.c ~Line 564. */ + Loopback->Name.Buffer = L"ReactOS Loopback"; Loopback->Name.MaximumLength = Loopback->Name.Length = (USHORT)wcslen(Loopback->Name.Buffer) * sizeof(WCHAR);