This is an automated email from the ASF dual-hosted git repository.

janc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git

commit 30e2ee64255313b6c57dbfa741257a51b8e550b0
Author: Szymon Janc <[email protected]>
AuthorDate: Wed Nov 19 15:21:02 2025 +0100

    nimble/host/test: Fix buffer oveflows in HCI tests
    
    This are used for invalid tests and thus requires extra bytes for
    invalid data.
---
 nimble/host/test/src/ble_hs_hci_test.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/nimble/host/test/src/ble_hs_hci_test.c 
b/nimble/host/test/src/ble_hs_hci_test.c
index 8dd7c7777..7053a113a 100644
--- a/nimble/host/test/src/ble_hs_hci_test.c
+++ b/nimble/host/test/src/ble_hs_hci_test.c
@@ -47,7 +47,7 @@ TEST_CASE_SELF(ble_hs_hci_test_event_bad)
 
 TEST_CASE_SELF(ble_hs_hci_test_rssi)
 {
-    uint8_t params[BLE_HCI_READ_RSSI_ACK_PARAM_LEN];
+    uint8_t params[BLE_HCI_READ_RSSI_ACK_PARAM_LEN + 1];
     uint16_t opcode;
     int8_t rssi;
     int rc;
@@ -62,7 +62,8 @@ TEST_CASE_SELF(ble_hs_hci_test_rssi)
     /* RSSI. */
     params[2] = -8;
 
-    ble_hs_test_util_hci_ack_set_params(opcode, 0, params, sizeof params);
+    ble_hs_test_util_hci_ack_set_params(opcode, 0, params,
+                                        BLE_HCI_READ_RSSI_ACK_PARAM_LEN);
 
     rc = ble_hs_hci_util_read_rssi(1, &rssi);
     TEST_ASSERT_FATAL(rc == 0);
@@ -71,18 +72,21 @@ TEST_CASE_SELF(ble_hs_hci_test_rssi)
     /*** Failure: incorrect connection handle. */
     put_le16(params + 0, 99);
 
-    ble_hs_test_util_hci_ack_set_params(opcode, 0, params, sizeof params);
+    ble_hs_test_util_hci_ack_set_params(opcode, 0, params,
+                                        BLE_HCI_READ_RSSI_ACK_PARAM_LEN);
 
     rc = ble_hs_hci_util_read_rssi(1, &rssi);
     TEST_ASSERT(rc == BLE_HS_ECONTROLLER);
 
     /*** Failure: params too short. */
-    ble_hs_test_util_hci_ack_set_params(opcode, 0, params, sizeof params - 1);
+    ble_hs_test_util_hci_ack_set_params(opcode, 0, params,
+                                        BLE_HCI_READ_RSSI_ACK_PARAM_LEN - 1);
     rc = ble_hs_hci_util_read_rssi(1, &rssi);
     TEST_ASSERT(rc == BLE_HS_ECONTROLLER);
 
     /*** Failure: params too long. */
-    ble_hs_test_util_hci_ack_set_params(opcode, 0, params, sizeof params + 1);
+    ble_hs_test_util_hci_ack_set_params(opcode, 0, params,
+                                        BLE_HCI_READ_RSSI_ACK_PARAM_LEN + 1);
     rc = ble_hs_hci_util_read_rssi(1, &rssi);
     TEST_ASSERT(rc == BLE_HS_ECONTROLLER);
 

Reply via email to