aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Merger (Role) <noreply-android-build-merger@google.com>2018-06-07 00:46:44 +0000
committerAndroid Build Merger (Role) <noreply-android-build-merger@google.com>2018-06-07 00:46:44 +0000
commit2f532ef9b08d5df0d2cf96d350697b1e4d847d19 (patch)
tree6e017428b61ce502ed02a804aaf784c07a5f4ba9
parent8dca5d69812ce60cc5fbeaec0f8f64593e4c1f8f (diff)
parent3a9eca8d4c881f4cdfba1e080c11a676f5510726 (diff)
downloadbt-2f532ef9b08d5df0d2cf96d350697b1e4d847d19.tar.gz
[automerger] DO NOT MERGE: Don't reuse buffer when building response am: ecef51ee8f am: cf7d3de311 am: 3a9eca8d4c
Change-Id: Ib332da78669cd9e8b6c1d3f25d54cc8df23b444a
-rw-r--r--stack/avrc/avrc_api.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/stack/avrc/avrc_api.c b/stack/avrc/avrc_api.c
index 77ca7d45e..e612031dd 100644
--- a/stack/avrc/avrc_api.c
+++ b/stack/avrc/avrc_api.c
@@ -316,15 +316,15 @@ static BT_HDR * avrc_proc_vendor_command(UINT8 handle, UINT8 label,
if (status != AVRC_STS_NO_ERROR)
{
- /* use the current GKI buffer to build/send the reject message */
- p_data = (UINT8 *)(p_pkt+1) + p_pkt->offset;
+ p_rsp = (BT_HDR*)osi_malloc(BT_DEFAULT_BUFFER_SIZE);
+ p_rsp->offset = p_pkt->offset;
+ p_data = (uint8_t*)(p_rsp + 1) + p_pkt->offset;
*p_data++ = AVRC_RSP_REJ;
p_data += AVRC_VENDOR_HDR_SIZE; /* pdu */
*p_data++ = 0; /* pkt_type */
UINT16_TO_BE_STREAM(p_data, 1); /* len */
*p_data++ = status; /* error code */
- p_pkt->len = AVRC_VENDOR_HDR_SIZE + 5;
- p_rsp = p_pkt;
+ p_rsp->len = AVRC_VENDOR_HDR_SIZE + 5;
}
return p_rsp;
@@ -472,6 +472,7 @@ static UINT8 avrc_proc_far_msg(UINT8 handle, UINT8 label, UINT8 cr, BT_HDR **pp_
if (p_rsp)
{
AVCT_MsgReq( handle, label, AVCT_RSP, p_rsp);
+ osi_free_and_reset((void **)pp_pkt);
drop_code = 3;
}
else if (p_msg->hdr.opcode == AVRC_OP_DROP)