Merge pull request #27 from orbisai0security/fix-ble-rx-buf-bounds-check

fix: add buffer-length check in ble.cpp
This commit is contained in:
Hermann Björgvin
2026-05-21 19:52:00 +00:00
committed by GitHub
+1 -2
View File
@@ -126,8 +126,7 @@ class ServerCallbacks : public NimBLEServerCallbacks {
class RxCallbacks : public NimBLECharacteristicCallbacks { class RxCallbacks : public NimBLECharacteristicCallbacks {
void onWrite(NimBLECharacteristic* chr, NimBLEConnInfo& info) override { void onWrite(NimBLECharacteristic* chr, NimBLEConnInfo& info) override {
std::string val = chr->getValue(); std::string val = chr->getValue();
size_t len = val.length(); size_t len = std::min(val.length(), (size_t)(BLE_BUF_SIZE - 1));
if (len >= BLE_BUF_SIZE) len = BLE_BUF_SIZE - 1;
memcpy(rx_buf, val.c_str(), len); memcpy(rx_buf, val.c_str(), len);
rx_buf[len] = '\0'; rx_buf[len] = '\0';
data_ready = true; data_ready = true;