Skip to content

Commit 83030f6

Browse files
committed
[Bugfix] Check if remote descriptor vector has increased.
1 parent d6013fd commit 83030f6

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/NimBLERemoteCharacteristic.cpp

+6-2
Original file line numberDiff line numberDiff line change
@@ -117,15 +117,19 @@ bool NimBLERemoteCharacteristic::retrieveDescriptors(NimBLEDescriptorFilter* pFi
117117
return false;
118118
}
119119

120+
auto prevDscCount = m_vDescriptors.size();
120121
NimBLEUtils::taskWait(pFilter->taskData, BLE_NPL_TIME_FOREVER);
121122
rc = ((NimBLETaskData*)pFilter->taskData)->m_flags;
122123
if (rc != BLE_HS_EDONE) {
123124
NIMBLE_LOGE(LOG_TAG, "<< retrieveDescriptors(): failed: rc=%d %s", rc, NimBLEUtils::returnCodeToString(rc));
124125
return false;
125126
}
126127

127-
pFilter->dsc = m_vDescriptors.back();
128-
NIMBLE_LOGD(LOG_TAG, "<< retrieveDescriptors(): found %d descriptors.", m_vDescriptors.size());
128+
if (m_vDescriptors.size() > prevDscCount) {
129+
pFilter->dsc = m_vDescriptors.back();
130+
}
131+
132+
NIMBLE_LOGD(LOG_TAG, "<< retrieveDescriptors(): found %d descriptors.", m_vDescriptors.size() - prevDscCount);
129133
return true;
130134
} // retrieveDescriptors
131135

0 commit comments

Comments
 (0)