From f8e8830112b35db9130cb7cb9a678d0d669a8988 Mon Sep 17 00:00:00 2001 From: h2zero Date: Mon, 5 May 2025 18:06:34 -0600 Subject: [PATCH] [Bugfix] Incorrectly passing a pointers to a funtion taking const reference Passing a pointer to to NimBLEUtils::taskWait and NimBLEUtils::taskRelease would compile due to the first argument in the constructor being a pointer to void, a surprisingly not a compiler error in this instance. Also does not cause a crash but instead a hung task when called. --- src/NimBLERemoteCharacteristic.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NimBLERemoteCharacteristic.cpp b/src/NimBLERemoteCharacteristic.cpp index dbae3ac..c4675dc 100644 --- a/src/NimBLERemoteCharacteristic.cpp +++ b/src/NimBLERemoteCharacteristic.cpp @@ -118,7 +118,7 @@ bool NimBLERemoteCharacteristic::retrieveDescriptors(NimBLEDescriptorFilter* pFi } auto prevDscCount = m_vDescriptors.size(); - NimBLEUtils::taskWait(pFilter->taskData, BLE_NPL_TIME_FOREVER); + NimBLEUtils::taskWait(taskData, BLE_NPL_TIME_FOREVER); rc = ((NimBLETaskData*)pFilter->taskData)->m_flags; if (rc != BLE_HS_EDONE) { NIMBLE_LOGE(LOG_TAG, "<< retrieveDescriptors(): failed: rc=%d %s", rc, NimBLEUtils::returnCodeToString(rc));