From 8f7072550e48fd36d47d8b0d7ba442d9ccd200ff Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 20 Sep 2006 08:40:26 +0000 Subject: Make opcode packing endian safe --- hcid/security.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hcid/security.c b/hcid/security.c index e1c29ea9..1b14dfac 100644 --- a/hcid/security.c +++ b/hcid/security.c @@ -416,20 +416,22 @@ reject: static inline void cmd_status(int dev, bdaddr_t *sba, void *ptr) { evt_cmd_status *evt = ptr; + uint16_t opcode = btohs(evt->opcode); if (evt->status) return; - if (evt->opcode == cmd_opcode_pack(OGF_LINK_CTL, OCF_INQUIRY)) + if (opcode == cmd_opcode_pack(OGF_LINK_CTL, OCF_INQUIRY)) hcid_dbus_inquiry_start(sba); } static inline void cmd_complete(int dev, bdaddr_t *sba, void *ptr) { evt_cmd_complete *evt = ptr; + uint16_t opcode = btohs(evt->opcode); uint8_t status; - switch (evt->opcode) { + switch (opcode) { case cmd_opcode_pack(OGF_LINK_CTL, OCF_PERIODIC_INQUIRY): status = *((uint8_t *) ptr + EVT_CMD_COMPLETE_SIZE); hcid_dbus_periodic_inquiry_start(sba, status); -- cgit