OSDN Git Service
(root)
/
android-x86
/
system-bt.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
e6d78b9
)
Fix copy length calculation in sdp_copy_raw_data
author
Jakub Pawlowski
<jpawlowski@google.com>
Mon, 16 Jul 2018 13:40:35 +0000
(06:40 -0700)
committer
Jakub Pawlowski
<jpawlowski@google.com>
Mon, 16 Jul 2018 19:45:40 +0000
(12:45 -0700)
Test: compilation
Bug:
110216176
Change-Id: Ic4a19c9f0fe8cd592bc6c25dcec7b1da49ff7459
stack/sdp/sdp_discovery.cc
patch
|
blob
|
history
diff --git
a/stack/sdp/sdp_discovery.cc
b/stack/sdp/sdp_discovery.cc
index
4b132f7
..
e06d20a
100644
(file)
--- a/
stack/sdp/sdp_discovery.cc
+++ b/
stack/sdp/sdp_discovery.cc
@@
-352,8
+352,15
@@
static void sdp_copy_raw_data(tCONN_CB* p_ccb, bool offset) {
p = &p_ccb->rsp_list[0];
if (offset) {
+ cpy_len -= 1;
type = *p++;
+ uint8_t* old_p = p;
p = sdpu_get_len_from_type(p, type, &list_len);
+ if ((int)cpy_len < (p - old_p)) {
+ SDP_TRACE_WARNING("%s: no bytes left for data", __func__);
+ return;
+ }
+ cpy_len -= (p - old_p);
}
if (list_len < cpy_len) {
cpy_len = list_len;