Skip to content

Commit dedfaf5

Browse files
henrikschnorsjanc
authored andcommitted
nimble/ll: Avoid dereferencing an invalid pointer
The data pointer in the mbuf of outgoing empty packets is invalid. This adds a check to avoid dereferencing it.
1 parent 76c5704 commit dedfaf5

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

nimble/controller/src/ble_ll_conn.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1341,7 +1341,8 @@ ble_ll_conn_tx_pdu(struct ble_ll_conn_sm *connsm)
13411341
(CONN_IS_PERIPHERAL(connsm) && (md == 0) &&
13421342
(connsm->cons_rxd_bad_crc == 0) &&
13431343
((connsm->last_rxd_hdr_byte & BLE_LL_DATA_HDR_MD_MASK) == 0) &&
1344-
!ble_ll_ctrl_is_terminate_ind(hdr_byte, m->om_data[0]))) {
1344+
((connsm->flags.empty_pdu_txd) ||
1345+
!ble_ll_ctrl_is_terminate_ind(hdr_byte, m->om_data[0])))) {
13451346
/* We will end the connection event */
13461347
end_transition = BLE_PHY_TRANSITION_NONE;
13471348
txend_func = ble_ll_conn_wait_txend;

0 commit comments

Comments
 (0)