OSDN Git Service

SDP: Recalculate param_len after max_list_len
authorMyles Watson <mylesgw@google.com>
Tue, 29 May 2018 23:55:58 +0000 (16:55 -0700)
committerMyles Watson <mylesgw@google.com>
Tue, 29 May 2018 23:55:58 +0000 (16:55 -0700)
Bug: 78136869
Test: manual connection to an A2DP device
Change-Id: I71392cf1a70567fec957feb36768069ac5258aa1

stack/sdp/sdp_server.cc

index 733f1a3..8c764f3 100644 (file)
@@ -567,6 +567,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) ||