Add service and server null checks for notify

This commit is contained in:
Rapsssito 2024-08-19 17:15:18 +02:00
parent e4c1ed979c
commit efd3dbecfb
3 changed files with 4 additions and 3 deletions

View file

@ -45,7 +45,8 @@ void BLECharacteristic::notify(bool require_ack) {
ESP_LOGW(TAG, "require_ack=true is not yet supported (i.e. INDICATE is not yet supported)"); ESP_LOGW(TAG, "require_ack=true is not yet supported (i.e. INDICATE is not yet supported)");
// TODO: Handle when require_ack=true // TODO: Handle when require_ack=true
} }
if (this->service_->get_server()->get_connected_client_count() == 0) if (this->service_ == nullptr || this->service_->get_server() == nullptr ||
this->service_->get_server()->get_connected_client_count() == 0)
return; return;
for (auto &client : this->service_->get_server()->get_clients()) { for (auto &client : this->service_->get_server()->get_clients()) {

View file

@ -74,7 +74,7 @@ class BLECharacteristic : public EventEmitter<BLECharacteristicEvt::VectorEvt, s
protected: protected:
bool write_event_{false}; bool write_event_{false};
BLEService *service_; BLEService *service_ = nullptr;
ESPBTUUID uuid_; ESPBTUUID uuid_;
esp_gatt_char_prop_t properties_; esp_gatt_char_prop_t properties_;
uint16_t handle_{0xFFFF}; uint16_t handle_{0xFFFF};

View file

@ -59,7 +59,7 @@ class BLEService {
std::vector<BLECharacteristic *> characteristics_; std::vector<BLECharacteristic *> characteristics_;
BLECharacteristic *last_created_characteristic_{nullptr}; BLECharacteristic *last_created_characteristic_{nullptr};
uint32_t created_characteristic_count_{0}; uint32_t created_characteristic_count_{0};
BLEServer *server_; BLEServer *server_ = nullptr;
ESPBTUUID uuid_; ESPBTUUID uuid_;
uint16_t num_handles_; uint16_t num_handles_;
uint16_t handle_{0xFFFF}; uint16_t handle_{0xFFFF};