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)
committerRyan Longair <rlongair@google.com>
Tue, 12 Jun 2018 18:14:33 +0000 (11:14 -0700)
Bug: 78136869
Test: manual connection to an A2DP device
Change-Id: I71392cf1a70567fec957feb36768069ac5258aa1
(cherry picked from commit ef7dddabbd70222fa0fafc97e8562d977f550d26)
(cherry picked from commit ca8a83ba76685d164baf0825a82f8d95c677bd3c)

stack/sdp/sdp_server.c

index ca98d86..2d34406 100644 (file)
@@ -358,6 +358,7 @@ static void process_service_attr_req (tCONN_CB *p_ccb, UINT16 trans_num,
     if (max_list_len > (p_ccb->rem_mtu_size - SDP_MAX_ATTR_RSPHDR_LEN))
         max_list_len = p_ccb->rem_mtu_size - SDP_MAX_ATTR_RSPHDR_LEN;
 
+    param_len = (UINT16)(p_req_end - p_req);
     p_req = sdpu_extract_attr_seq (p_req, param_len, &attr_seq);
 
     if ((!p_req) || (!attr_seq.num_attr) ||