Merge branch 'bugfix/btdm_find_remote_service_by_uuid_always_return_success' into 'master'

component/bt: Fix bug of SDP find services by uuid always return success

See merge request idf/esp-idf!3036
This commit is contained in:
Jiang Jiang Jian 2018-08-31 21:27:21 +08:00
commit e3778d7bd9

View File

@ -354,15 +354,17 @@ static void sdp_copy_raw_data (tCONN_CB *p_ccb, BOOLEAN offset)
type = *p++; type = *p++;
p = sdpu_get_len_from_type (p, type, &list_len); p = sdpu_get_len_from_type (p, type, &list_len);
} }
if (list_len && list_len < cpy_len ) { if (list_len < cpy_len ) {
cpy_len = list_len; cpy_len = list_len;
} }
#if (SDP_DEBUG_RAW == TRUE) #if (SDP_DEBUG_RAW == TRUE)
SDP_TRACE_WARNING("list_len :%d cpy_len:%d raw_size:%d raw_used:%d\n", SDP_TRACE_DEBUG("list_len :%d cpy_len:%d raw_size:%d raw_used:%d\n",
list_len, cpy_len, p_ccb->p_db->raw_size, p_ccb->p_db->raw_used); list_len, cpy_len, p_ccb->p_db->raw_size, p_ccb->p_db->raw_used);
#endif #endif
memcpy (&p_ccb->p_db->raw_data[p_ccb->p_db->raw_used], p, cpy_len); if (cpy_len != 0){
p_ccb->p_db->raw_used += cpy_len; memcpy (&p_ccb->p_db->raw_data[p_ccb->p_db->raw_used], p, cpy_len);
p_ccb->p_db->raw_used += cpy_len;
}
} }
} }
#endif #endif