diff options
author | Kiran K <kiran.k@intel.com> | 2021-03-07 14:48:45 +0530 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2021-03-15 14:43:31 -0700 |
commit | 3ce089b0b50e06500ae5724d510965aada57f047 (patch) | |
tree | 7d3412f1f9f8d961a7ffe68ccab208582b251e2f /monitor/packet.c | |
parent | 28ddec8d6b829e002fa268c07b71e4c564ba9e16 (diff) | |
download | bluez-3ce089b0b50e06500ae5724d510965aada57f047.tar.gz |
monitor: Fix decoding Read Local Supported Codec Capabilities
Codec capabilities wern't properly decoded due to wrong offset
< HCI Command: Read Local Supported Codec Capabilities (0x04|0x000e) plen 7
Codec: A-law log (0x01)
Logical Transport Type: 0x01
Codec supported over BR/EDR ACL
Direction: Input (Host to Controller) (0x00)
> HCI Event: Command Complete (0x0e) plen 18
Read Local Supported Codec Capabilities (0x04|0x000e) ncmd 1
Status: Success (0x00)
Number of codec capabilities: 3
Capabilities #0:
aa bb cc dd ....
Capabilities #1:
11 22 33 44 55 ."3DU
Capabilities #2:
ff .
Diffstat (limited to 'monitor/packet.c')
-rw-r--r-- | monitor/packet.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/monitor/packet.c b/monitor/packet.c index 8b87d3d8b..66af9b3dd 100644 --- a/monitor/packet.c +++ b/monitor/packet.c @@ -6032,23 +6032,23 @@ static void read_local_codec_caps_rsp(const void *data, uint8_t size) print_status(rsp->status); print_field("Number of codec capabilities: %d", rsp->num); - data += sizeof(rsp); - size -= sizeof(rsp); + data += sizeof(*rsp); + size -= sizeof(*rsp); for (i = 0; i < rsp->num; i++) { const struct bt_hci_codec_caps *caps = data; - if (size < sizeof(caps)) { + if (size < sizeof(*caps)) { print_field("Invalid capabilities: %u < %zu", - size, sizeof(caps)); + size, sizeof(*caps)); return; } print_field(" Capabilities #%u:", i); packet_hexdump(caps->data, caps->len); - data += caps->len; - size -= caps->len; + data += 1 + caps->len; + size -= 1 + caps->len; } } |