diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2013-06-13 11:58:12 +0300 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2013-06-13 17:14:43 +0300 |
commit | cf00b35d294ca0c7e4f7866587daea9177dc0523 (patch) | |
tree | 867c0aba11d4f5b975e4f17228fb7c56bd858f51 /tools/parser | |
parent | bb8f73355dd0602d34a771edee32cdcb2bec06f2 (diff) | |
download | bluez-cf00b35d294ca0c7e4f7866587daea9177dc0523.tar.gz |
tools/hcidump: Fix parsing of Search PDU
Diffstat (limited to 'tools/parser')
-rw-r--r-- | tools/parser/avrcp.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/tools/parser/avrcp.c b/tools/parser/avrcp.c index 151628c48..b52353396 100644 --- a/tools/parser/avrcp.c +++ b/tools/parser/avrcp.c @@ -2108,15 +2108,15 @@ static void avrcp_search_dump(int level, struct frame *frm, uint8_t hdr, uint16_t len) { uint32_t uidcounter, items; - uint16_t charset; - uint8_t namelen, status; + uint16_t charset, namelen; + uint8_t status; p_indent(level, frm); if (hdr & 0x02) goto response; - if (len < 3) { + if (len < 4) { printf("PDU Malformed\n"); raw_dump(level, frm); return; @@ -2127,8 +2127,8 @@ static void avrcp_search_dump(int level, struct frame *frm, uint8_t hdr, p_indent(level, frm); - namelen = get_u8(frm); - printf("Length: 0x%02x (%u)\n", namelen, namelen); + namelen = get_u16(frm); + printf("Length: 0x%04x (%u)\n", namelen, namelen); p_indent(level, frm); @@ -2137,6 +2137,7 @@ static void avrcp_search_dump(int level, struct frame *frm, uint8_t hdr, uint8_t c = get_u8(frm); printf("%1c", isprint(c) ? c : '.'); } + printf("\n"); return; |