From a012fee0beaba99ecd3ec35c7bcb559f76dbce3b Mon Sep 17 00:00:00 2001 From: Zhang Hai Peng Date: Tue, 30 Dec 2025 11:53:39 +0800 Subject: [PATCH] fix(ble/bluedroid): Added security check in example Bluedroid_GATT_Server (cherry picked from commit a36bf7fe14305b643baa4c97306274b592d2329d) Co-authored-by: zhanghaipeng --- .../bluedroid/Bluedroid_GATT_Server/main/main.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/examples/bluetooth/ble_get_started/bluedroid/Bluedroid_GATT_Server/main/main.c b/examples/bluetooth/ble_get_started/bluedroid/Bluedroid_GATT_Server/main/main.c index 07e19e6b24..d464c583a5 100644 --- a/examples/bluetooth/ble_get_started/bluedroid/Bluedroid_GATT_Server/main/main.c +++ b/examples/bluetooth/ble_get_started/bluedroid/Bluedroid_GATT_Server/main/main.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Unlicense OR CC0-1.0 */ @@ -362,12 +362,16 @@ static void auto_io_gatts_profile_event_handler(esp_gatts_cb_event_t event, esp_ case ESP_GATTS_WRITE_EVT: ESP_LOGI(GATTS_TAG, "Characteristic write, value len %u, value ", param->write.len); ESP_LOG_BUFFER_HEX(GATTS_TAG, param->write.value, param->write.len); - if (param->write.value[0]) { - ESP_LOGI(GATTS_TAG, "LED ON!"); - led_on(); + if (param->write.len > 0) { + if (param->write.value[0]) { + ESP_LOGI(GATTS_TAG, "LED ON!"); + led_on(); + } else { + ESP_LOGI(GATTS_TAG, "LED OFF!"); + led_off(); + } } else { - ESP_LOGI(GATTS_TAG, "LED OFF!"); - led_off(); + ESP_LOGW(GATTS_TAG, "Empty write data received"); } example_write_event_env(gatts_if, param); break;