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:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user