Handle zero padding anywhere in the combined adv data (#4208)

fixes https://github.com/esphome/issues/issues/3913
This commit is contained in:
J. Nick Koston 2022-12-19 11:40:01 -10:00 committed by Jesse Hills
parent 1824c8131e
commit 4245480656
No known key found for this signature in database
GPG Key ID: BEAAE804EFD8E83A

View File

@ -706,11 +706,7 @@ void ESPBTDevice::parse_adv_(const esp_ble_gap_cb_param_t::ble_scan_result_evt_p
while (offset + 2 < len) {
const uint8_t field_length = payload[offset++]; // First byte is length of adv record
if (field_length == 0) {
if (offset < param.adv_data_len && param.scan_rsp_len > 0) { // Zero padded advertisement data
offset = param.adv_data_len;
continue;
}
break;
continue; // Possible zero padded advertisement data
}
// first byte of adv record is adv record type