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

Commit d539bc29 authored by Hui Peng's avatar Hui Peng Committed by Automerger Merge Worker
Browse files

Fix a OOB bug in bta_hh_co_get_rpt_rsp am: f173fcb4 am: 3c15759b am: 5773c861

parents 7a94a00a 5773c861
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -685,13 +685,14 @@ void bta_hh_co_get_rpt_rsp(uint8_t dev_handle, uint8_t status, uint8_t* p_rpt,
    ev.u.feature_answer.err = status;
    ev.u.feature_answer.size = len;
    osi_free(get_rpt_id);
    if (len > 0) {
      if (len > UHID_DATA_MAX) {

    if (len >= GET_RPT_RSP_OFFSET) {
      if (len - GET_RPT_RSP_OFFSET > UHID_DATA_MAX) {
        APPL_TRACE_WARNING("%s: Report size greater than allowed size",
                           __func__);
        return;
      }
      memcpy(ev.u.feature_answer.data, p_rpt + GET_RPT_RSP_OFFSET, len);
      memcpy(ev.u.feature_answer.data, p_rpt + GET_RPT_RSP_OFFSET, len - GET_RPT_RSP_OFFSET);
      uhid_write(p_dev->fd, &ev);
    }
  }