This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Hardfault ble_nus_send_data - SDK 17

Hi,

I've noticed that there was an issue with ble_nus in SDK 15.3 - detailed in this post.

I'm using SDK 17, and in my application, I don't check data_handler != NULL. When BLE_GATTS_EVT_HVN_TX_COMPLETE occurs, I just define ble_nus_evt_t evt and calls p_nus->data_handler. Probably took it from an example, I can't remember.

Is it safe? Should I use something else?

Thanks!

Parents Reply
  • Hi,

    This is the implementation in my application, under ble_nus.c:

    case BLE_GATTS_EVT_HVN_TX_COMPLETE:
    {
        //notify with empty data that some tx was completed.
        ble_nus_evt_t evt = {
                     .type = BLE_NUS_EVT_TX_RDY,
                     .p_nus = p_nus
                                         };
    p_nus->data_handler(&evt);
    }
    break;

    As it's not exactly as the SDK code, probably because it's from another example, I'm not sure if it's safe enough, because I don't have any validation if p_nus->data_handler != NULL.

    In other cases of this switch, I can see other uses of p_nus->data_handler without validation.

    What is your opinion?

    Thanks!

Children
Related