Data passed to ext_inquiry_data_dump are expected to start with length octet which was consumed by get_u8. --- parser/hci.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/parser/hci.c b/parser/hci.c index 742a1b5..920b973 100644 --- a/parser/hci.c +++ b/parser/hci.c @@ -831,16 +831,19 @@ static inline void ext_inquiry_response_dump(int level, struct frame *frm) { void *ptr = frm->ptr; uint32_t len = frm->len; + uint8_t *data; uint8_t length; + data = frm->ptr; length = get_u8(frm); while (length > 0) { - ext_inquiry_data_dump(level, frm, frm->ptr); + ext_inquiry_data_dump(level, frm, data); frm->ptr += length; frm->len -= length; + data = frm->ptr; length = get_u8(frm); } -- 1.7.10 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html