mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-10-11 08:47:22 +00:00
nimble/ll: Fix own address type check during scan
We did not check own address type requested for scan when filtering so we matched random address even if public address was requested and vv. This fixes LL/DDI/SCN/BV-71-C.
This commit is contained in:
@@ -1333,7 +1333,8 @@ ble_ll_scan_rx_filter(uint8_t own_addr_type, uint8_t scan_filt_policy,
|
||||
}
|
||||
|
||||
/* Ignore if not directed to us */
|
||||
if (!ble_ll_is_our_devaddr(addrd->targeta, addrd->targeta_type)) {
|
||||
if ((addrd->targeta_type != (own_addr_type & 0x01)) ||
|
||||
!ble_ll_is_our_devaddr(addrd->targeta, addrd->targeta_type)) {
|
||||
return -1;
|
||||
}
|
||||
break;
|
||||
@@ -1347,7 +1348,8 @@ ble_ll_scan_rx_filter(uint8_t own_addr_type, uint8_t scan_filt_policy,
|
||||
#else
|
||||
/* Ignore if not directed to us */
|
||||
if (addrd->targeta &&
|
||||
!ble_ll_is_our_devaddr(addrd->targeta, addrd->targeta_type)) {
|
||||
((addrd->targeta_type != (own_addr_type & 0x01)) ||
|
||||
!ble_ll_is_our_devaddr(addrd->targeta, addrd->targeta_type))) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user