Merge cherrypicks of ['googleplex-android-review.googlesource.com/21101261'] into tm-qpr2-release.
Change-Id: I27770d4e32736280f18494b540caa29c468917a0
diff --git a/system/btif/co/bta_hh_co.cc b/system/btif/co/bta_hh_co.cc
index 6115627..90fe1df 100644
--- a/system/btif/co/bta_hh_co.cc
+++ b/system/btif/co/bta_hh_co.cc
@@ -673,16 +673,15 @@
ev.type = UHID_FEATURE_ANSWER;
ev.u.feature_answer.id = *get_rpt_id;
ev.u.feature_answer.err = status;
- ev.u.feature_answer.size = len - GET_RPT_RSP_OFFSET;
+ ev.u.feature_answer.size = len;
osi_free(get_rpt_id);
- if (len > GET_RPT_RSP_OFFSET) {
- if (len - GET_RPT_RSP_OFFSET > UHID_DATA_MAX) {
+ if (len > 0) {
+ if (len > 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 - GET_RPT_RSP_OFFSET);
+ memcpy(ev.u.feature_answer.data, p_rpt + GET_RPT_RSP_OFFSET, len);
uhid_write(p_dev->fd, &ev);
}
}