Setting data length to 0 in GapAdv_loadByHandle causes SW to enter hard fault

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: High
    • SimpleLink Lowpower SDK F3 BLE5 Stack
    • BLE_LOKI-2484
    • BLE Stack BLE5-3.2.2_PR
    • Hide
      BLE_LOKI_8_40_00_RC1
      BLE_LOKI_8_40_00
      Show
      BLE_LOKI_8_40_00_RC1 BLE_LOKI_8_40_00
    • CC23XX

      Description of the Issue: When calling GapAdv_loadByHandle for an advertising set that was already created, if the data length is set to 0, the SW enters hard fault - faultISR() due to an incorrect NULL value assignation to the AdvData pointer.

      Steps to reproduce:

      • Import basic_ble example from the simplelink_lowpower_f3_sdk_7_20_00_29_s for CC2340R5, and configure the device to be a peripheral.
      • In the app_peripheral.c file, modify the advSetStartParamsSet_1 to look like the following:
        const BLEAppUtil_AdvStart_t advSetStartParamsSet_1 =
        {
            .enableOptions         = GAP_ADV_ENABLE_OPTIONS_USE_MAX_EVENTS,
            .durationOrMaxEvents   = 1
        };
        
      • Then in the Peripheral_advEventHandler(), add the following to the case BLEAPPUTIL_ADV_END_AFTER_DISABLE right after the MenuModule_printf():
        GapAdv_loadByHandle(peripheralAdvHandle_1, GAP_ADV_DATA_TYPE_ADV, 0, advData);
        

        Where advData can be an empty array.

            Assignee:
            TI User
            Reporter:
            TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                Connection: Intermediate to External PROD System
                EXTSYNC-4824 - Setting data length to 0 in GapAdv_...
                SYNCHRONIZED
                • Last Sync Date: