]> granicus.if.org Git - esp-idf/commitdiff
ble: Fix ble_adv data truncation
authorlucashutchinson <lucas@syrp.co.nz>
Thu, 2 Mar 2017 03:41:03 +0000 (16:41 +1300)
committerAngus Gratton <angus@espressif.com>
Fri, 3 Mar 2017 03:59:15 +0000 (14:59 +1100)
Fixed issue with ble_adv data being truncated after the 31st octet due to an incorrect length passed in a memcpy.

Merges #389 https://github.com/espressif/esp-idf/pull/389

components/bt/bluedroid/btc/profile/std/gap/btc_gap_ble.c

index 8fea801b0a700e587a1938ac7e69e852a71c5593..9e158c592edb415304d07f2a6dd6af8ab226d980 100644 (file)
@@ -476,8 +476,7 @@ static void btc_search_callback(tBTA_DM_SEARCH_EVT event, tBTA_DM_SEARCH *p_data
         param.scan_rst.ble_addr_type = p_data->inq_res.ble_addr_type;
                param.scan_rst.ble_evt_type = p_data->inq_res.ble_evt_type;
         param.scan_rst.flag = p_data->inq_res.flag;
-        memcpy(param.scan_rst.ble_adv, p_data->inq_res.p_eir,
-               ESP_BLE_ADV_DATA_LEN_MAX);
+        memcpy(param.scan_rst.ble_adv, p_data->inq_res.p_eir, sizeof(param.scan_rst.ble_adv));
         break;
     }
     case BTA_DM_INQ_CMPL_EVT: {