summaryrefslogtreecommitdiff
path: root/monitor/packet.c
diff options
context:
space:
mode:
authorKiran K <kiran.k@intel.com>2021-03-07 14:48:45 +0530
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2021-03-15 14:43:31 -0700
commit3ce089b0b50e06500ae5724d510965aada57f047 (patch)
tree7d3412f1f9f8d961a7ffe68ccab208582b251e2f /monitor/packet.c
parent28ddec8d6b829e002fa268c07b71e4c564ba9e16 (diff)
downloadbluez-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.c12
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;
}
}