Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb59abcd authored by Myles Watson's avatar Myles Watson
Browse files

Print errors if acceptlist events are too small

Bug: 173985410
Tag: #refactor
Test: gd/cert/run
Change-Id: I035d5de3570d22e3b114e5d18fb9065b82a9cf26
parent 67193845
Loading
Loading
Loading
Loading
+17 −18
Original line number Diff line number Diff line
@@ -90,38 +90,37 @@ static void acceptlist_command_complete(tHCI_STATUS status, const char* msg) {
}

static void acceptlist_add_command_complete(uint8_t* p_data, uint16_t evt_len) {
  if (evt_len > sizeof(uint8_t)) {
    uint8_t status;
    STREAM_TO_UINT8(status, p_data);
    acceptlist_command_complete(static_cast<tHCI_STATUS>(status),
                                kAcceptlistAdd);
  } else {
  if (evt_len < sizeof(uint8_t)) {
    LOG_ERROR("Received bogus acceptlist add complete length:%hu", evt_len);
    return;
  }
  uint8_t status;
  STREAM_TO_UINT8(status, p_data);
  acceptlist_command_complete(static_cast<tHCI_STATUS>(status), kAcceptlistAdd);
}

static void acceptlist_remove_command_complete(uint8_t* p_data,
                                               uint16_t evt_len) {
  if (evt_len > sizeof(uint8_t)) {
  if (evt_len < sizeof(uint8_t)) {
    LOG_ERROR("Received bogus acceptlist remove complete length:%hu", evt_len);
    return;
  }
  uint8_t status;
  STREAM_TO_UINT8(status, p_data);
  acceptlist_command_complete(static_cast<tHCI_STATUS>(status),
                              kAcceptlistRemove);
  } else {
    LOG_ERROR("Received bogus acceptlist remove complete length:%hu", evt_len);
  }
}

static void acceptlist_clear_command_complete(uint8_t* p_data,
                                              uint16_t evt_len) {
  if (evt_len > sizeof(uint8_t)) {
  if (evt_len < sizeof(uint8_t)) {
    LOG_ERROR("Received bogus acceptlist remove complete length:%hu", evt_len);
    return;
  }
  uint8_t status;
  STREAM_TO_UINT8(status, p_data);
  acceptlist_command_complete(static_cast<tHCI_STATUS>(status),
                              kAcceptlistClear);
  } else {
    LOG_ERROR("Received bogus acceptlist remove complete length:%hu", evt_len);
  }
}

/** This function is to stop auto connection procedure */