summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2023-05-05 13:20:25 -0700
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2023-05-05 13:30:10 -0700
commitacfa41dedb47f1bff9399e2273e4623aac4decc5 (patch)
tree5f467c5adb608cefbee255c80852b5ad6b05ad22
parent6c81bae99bc593af75913951ed553842862e95a8 (diff)
downloadbluez-acfa41dedb47f1bff9399e2273e4623aac4decc5.tar.gz
monitor: Fix misaligment errors
This fixes the following errors: monitor/packet.c:11968:27: runtime error: member access within misaligned address 0x565448026d55 for type 'const struct monitor_l2cap_hdr', which requires 2 byte alignment monitor/packet.c:11968:4: runtime error: member access within misaligned address 0x565448026d55 for type 'const struct monitor_l2cap_hdr', which requires 2 byte alignment
-rw-r--r--monitor/packet.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/monitor/packet.c b/monitor/packet.c
index 645e3f97e..94561b65e 100644
--- a/monitor/packet.c
+++ b/monitor/packet.c
@@ -11945,7 +11945,7 @@ void packet_system_note(struct timeval *tv, struct ucred *cred,
struct monitor_l2cap_hdr {
uint16_t cid;
uint16_t psm;
-};
+} __attribute__((packed));
static void packet_decode(struct timeval *tv, struct ucred *cred, char dir,
uint16_t index, const char *color,
@@ -11964,7 +11964,8 @@ static void packet_decode(struct timeval *tv, struct ucred *cred, char dir,
NULL);
/* Discard last byte since it just a filler */
- l2cap_frame(index, dir == '>', 0, hdr->cid, hdr->psm,
+ l2cap_frame(index, dir == '>', 0,
+ le16_to_cpu(hdr->cid), le16_to_cpu(hdr->psm),
data + sizeof(*hdr), size - (sizeof(*hdr) + 1));
}