diff mbox series

[BlueZ] tools/hcidump: fix a out-of-bounds read in le_meta_ev_dump()

Message ID 20200830130744.GA10568@ubuntu
State Superseded
Headers show
Series [BlueZ] tools/hcidump: fix a out-of-bounds read in le_meta_ev_dump() | expand

Commit Message

zefang han Aug. 30, 2020, 1:07 p.m. UTC
Check whether the subevent code of le meta event is bigger than
the size of ev_le_meta_str.
---
 tools/parser/hci.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/tools/parser/hci.c b/tools/parser/hci.c
index 41f6fe087..acd41be83 100644
--- a/tools/parser/hci.c
+++ b/tools/parser/hci.c
@@ -3668,7 +3668,12 @@  static inline void le_meta_ev_dump(int level, struct frame *frm)
 	frm->len -= EVT_LE_META_EVENT_SIZE;
 
 	p_indent(level, frm);
-	printf("%s\n", ev_le_meta_str[subevent]);
+
+	if (subevent > LE_EV_NUM) {
+		printf("Unknown\n");
+	} else {
+		printf("%s\n", ev_le_meta_str[subevent]);
+	}
 
 	switch (mevt->subevent) {
 	case EVT_LE_CONN_COMPLETE: