OSDN Git Service

DO NOT MERGE: SDP: Recalculate param_len after max_list_len
authorMyles Watson <mylesgw@google.com>
Tue, 29 May 2018 23:55:58 +0000 (16:55 -0700)
committerandroid-build-team Robot <android-build-team-robot@google.com>
Fri, 10 Aug 2018 20:30:44 +0000 (20:30 +0000)
Bug: 78136869
Test: manual connection to an A2DP device
Change-Id: I71392cf1a70567fec957feb36768069ac5258aa1
(cherry picked from commit 9cc9eea21c7868034242b7ab8be750c565e46bfd)

stack/sdp/sdp_server.cc

index 121c248..d2bbd6c 100644 (file)
@@ -569,6 +569,7 @@ static void process_service_search_attr_req(tCONN_CB* p_ccb, uint16_t trans_num,
   if (max_list_len > (p_ccb->rem_mtu_size - SDP_MAX_SERVATTR_RSPHDR_LEN))
     max_list_len = p_ccb->rem_mtu_size - SDP_MAX_SERVATTR_RSPHDR_LEN;
 
+  param_len = static_cast<uint16_t>(p_req_end - p_req);
   p_req = sdpu_extract_attr_seq(p_req, param_len, &attr_seq);
 
   if ((!p_req) || (!attr_seq.num_attr) ||