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 .
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
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;
}
}