OSDN Git Service

Decrease length after reading from array in process_service_attr_req
authorJakub Pawlowski <jpawlowski@google.com>
Tue, 29 May 2018 23:17:32 +0000 (16:17 -0700)
committerJakub Pawlowski <jpawlowski@google.com>
Tue, 29 May 2018 23:20:50 +0000 (16:20 -0700)
Test: compilation
Bug: 78136677
Change-Id: I4807a350e2b4764a93f104ce88f23a957a7e85c0

stack/sdp/sdp_server.cc

index f0d8823..9e7a072 100644 (file)
@@ -335,9 +335,11 @@ static void process_service_attr_req(tCONN_CB* p_ccb, uint16_t trans_num,
 
   /* Extract the record handle */
   BE_STREAM_TO_UINT32(rec_handle, p_req);
+  param_len -= sizeof(rec_handle);
 
   /* Get the max list length we can send. Cap it at MTU size minus overhead */
   BE_STREAM_TO_UINT16(max_list_len, p_req);
+  param_len -= sizeof(max_list_len);
 
   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;