]> granicus.if.org Git - esp-idf/commitdiff
component/bt: fix crash when set device name NULL
authorzhiweijian <zhiweijian@espressif.com>
Fri, 27 Oct 2017 06:07:47 +0000 (14:07 +0800)
committerzhiweijian <zhiweijian@espressif.com>
Fri, 27 Oct 2017 07:21:00 +0000 (15:21 +0800)
components/bt/bluedroid/api/esp_bt_device.c
examples/bluetooth/gatt_server/main/gatts_demo.c

index b4885cc0efe4b3d6193fec983edb82f53fff1221..c50ada980e04f504d9e86c274403a158c5183bda 100644 (file)
@@ -36,7 +36,9 @@ esp_err_t esp_bt_dev_set_device_name(const char *name)
     if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) {
         return ESP_ERR_INVALID_STATE;
     }
-    
+    if (!name){
+        return ESP_ERR_INVALID_ARG;
+    }
     if (strlen(name) > ESP_DEV_DEVICE_NAME_MAX) {
         return ESP_ERR_INVALID_ARG;
     }
index 8c30fd326e269e6330cee2711634946e4f25bad2..a60d567c86b14304c7b7a793a2c4e4ab901d6bd7 100644 (file)
@@ -313,7 +313,10 @@ static void gatts_profile_a_event_handler(esp_gatts_cb_event_t event, esp_gatt_i
         gl_profile_tab[PROFILE_A_APP_ID].service_id.id.uuid.len = ESP_UUID_LEN_16;
         gl_profile_tab[PROFILE_A_APP_ID].service_id.id.uuid.uuid.uuid16 = GATTS_SERVICE_UUID_TEST_A;
 
-        esp_ble_gap_set_device_name(TEST_DEVICE_NAME);
+        esp_err_t set_dev_name_ret = esp_ble_gap_set_device_name(TEST_DEVICE_NAME);
+        if (set_dev_name_ret){
+            ESP_LOGE(GATTS_TAG, "set device name failed, error code = %x", set_dev_name_ret);
+        }
 #ifdef CONFIG_SET_RAW_ADV_DATA
         esp_err_t raw_adv_ret = esp_ble_gap_config_adv_data_raw(raw_adv_data, sizeof(raw_adv_data));
         if (raw_adv_ret){