From 69096cf307b66bf5e31323c035dc1e5d230a282f Mon Sep 17 00:00:00 2001 From: hai007 Date: Tue, 30 Nov 2021 23:12:26 -0800 Subject: [PATCH] Fix crash problem when start Advertising PiperOrigin-RevId: 413328652 --- cpp/platform/impl/windows/bluetooth_adapter.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/cpp/platform/impl/windows/bluetooth_adapter.cc b/cpp/platform/impl/windows/bluetooth_adapter.cc index 4402507e..58bb196d 100644 --- a/cpp/platform/impl/windows/bluetooth_adapter.cc +++ b/cpp/platform/impl/windows/bluetooth_adapter.cc @@ -236,10 +236,11 @@ bool BluetoothAdapter::SetName(absl::string_view name) { WideCharToMultiByte(CP_UTF8, 0, guidOleStr, oleBufferLen, guidStr, bufferLen, NULL, &defaultCharUsed); - if (conversionResult != 0) { + if (conversionResult == 0) { const char *errorResult = {}; + int errorMessageID = GetLastError(); - switch (conversionResult) { + switch (errorMessageID) { case ERROR_INSUFFICIENT_BUFFER: errorResult = "A supplied buffer size was not large enough, or it was " @@ -254,10 +255,13 @@ bool BluetoothAdapter::SetName(absl::string_view name) { case ERROR_NO_UNICODE_TRANSLATION: errorResult = "Invalid Unicode was found in a string."; break; + default: + errorResult = "Unknown error."; + break; } NEARBY_LOGS(ERROR) << __func__ << ": Failed to convert guid to string " - << errorResult; + << errorResult << " Error code:" << errorMessageID; } absl::SNPrintF(fileName, sizeof(fileName), "\\\\.\\%s%s#%s", fileName,