From 0b711a41110706efe9044b80b6162568e51f74c1 Mon Sep 17 00:00:00 2001 From: Robert Walton Date: Mon, 26 Jul 2021 22:43:34 +0100 Subject: [PATCH] unittests: Test_LoRaWANStack.acquire_rx_metadata: Fix SEGFAULT We failed to set `LoRaMac_stub::mlme_ind_ptr` to a valid pointer. When we tried to dereference it in `LoRaWANStack::process_reception` we hit a SEGFAULT. --- .../features/lorawan/lorawanstack/Test_LoRaWANStack.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/connectivity/lorawan/tests/UNITTESTS/features/lorawan/lorawanstack/Test_LoRaWANStack.cpp b/connectivity/lorawan/tests/UNITTESTS/features/lorawan/lorawanstack/Test_LoRaWANStack.cpp index 33057fddaf50..33317c11f058 100644 --- a/connectivity/lorawan/tests/UNITTESTS/features/lorawan/lorawanstack/Test_LoRaWANStack.cpp +++ b/connectivity/lorawan/tests/UNITTESTS/features/lorawan/lorawanstack/Test_LoRaWANStack.cpp @@ -696,6 +696,11 @@ TEST_F(Test_LoRaWANStack, acquire_rx_metadata) cb.battery_level = batt_lvl; EXPECT_TRUE(LORAWAN_STATUS_OK == object->set_lora_callbacks(&cb)); mlme.req_type = MLME_LINK_CHECK; + + loramac_mlme_indication_t ind2; + memset(&ind2, 0, sizeof(ind2)); + LoRaMac_stub::mlme_ind_ptr = &ind2; + mlme.status = LORAMAC_EVENT_INFO_STATUS_OK; LoRaMac_stub::bool_true_counter = true; radio._ev->rx_done(NULL, 0, 0, 0);