From c36ae3c98b4434744a36d71931fc8321ad4793f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Rymanowski?= Date: Mon, 24 Sep 2018 15:36:54 +0200 Subject: [PATCH] nimble/ll: Fix checking len of TERMINATE_IND BLE_LL_CTRL_TERMINATE_IND_LEN is 1 as it stands only for error code in the TERMINATE_IND opcode. 'rx_pyld_len' contains aslo opcode which is additional 1 octet. This patch fixes it. --- nimble/controller/src/ble_ll_conn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nimble/controller/src/ble_ll_conn.c b/nimble/controller/src/ble_ll_conn.c index 0d25c34a9..726f35558 100644 --- a/nimble/controller/src/ble_ll_conn.c +++ b/nimble/controller/src/ble_ll_conn.c @@ -3908,7 +3908,7 @@ chk_rx_terminate_ind: /* If we received a terminate IND, we must set some flags */ if (is_ctrl && (opcode == BLE_LL_CTRL_TERMINATE_IND) - && (rx_pyld_len == BLE_LL_CTRL_TERMINATE_IND_LEN)) { + && (rx_pyld_len == (1 + BLE_LL_CTRL_TERMINATE_IND_LEN))) { connsm->csmflags.cfbit.terminate_ind_rxd = 1; connsm->rxd_disconnect_reason = rxbuf[3]; reply = 1;