OSDN Git Service
(root)
/
android-x86
/
system-bt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DO NOT MERGE HID Host: Check L2CAP packet data length
[android-x86/system-bt.git]
/
stack
/
hid
/
hidh_conn.c
diff --git
a/stack/hid/hidh_conn.c
b/stack/hid/hidh_conn.c
index
ffbafe4
..
39ba8bc
100644
(file)
--- a/
stack/hid/hidh_conn.c
+++ b/
stack/hid/hidh_conn.c
@@
-29,6
+29,7
@@
#include "bt_common.h"
#include "bt_types.h"
#include "bt_common.h"
#include "bt_types.h"
+#include "log/log.h"
#include "l2cdefs.h"
#include "l2c_api.h"
#include "l2cdefs.h"
#include "l2c_api.h"
@@
-820,6
+821,13
@@
static void hidh_l2cif_data_ind (UINT16 l2cap_cid, BT_HDR *p_msg)
return;
}
return;
}
+ if (p_msg->len < 1)
+ {
+ HIDH_TRACE_WARNING ("HID-Host Rcvd L2CAP data, invalid length");
+ osi_free(p_msg);
+ android_errorWriteLog(0x534e4554, "80493272");
+ return;
+ }
ttype = HID_GET_TRANS_FROM_HDR(*p_data);
param = HID_GET_PARAM_FROM_HDR(*p_data);
ttype = HID_GET_TRANS_FROM_HDR(*p_data);
param = HID_GET_PARAM_FROM_HDR(*p_data);