[PATCH 8/8] android/handsfree: Fix unaligned struct access

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



android/handsfree.c: In function ‘bt_sco_get_fd’:
android/handsfree.c:2913:47: error: taking address of packed member of ‘struct sco_rsp_get_fd’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
 2913 |  if (!dev || !bt_sco_get_fd_and_mtu(sco, &fd, &rsp.mtu))
      |                                               ^~~~~~~~
---
 android/handsfree.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/android/handsfree.c b/android/handsfree.c
index cb348ab9f..ebe03728e 100644
--- a/android/handsfree.c
+++ b/android/handsfree.c
@@ -2903,6 +2903,7 @@ static void bt_sco_get_fd(const void *buf, uint16_t len)
 	struct sco_rsp_get_fd rsp;
 	struct hf_device *dev;
 	bdaddr_t bdaddr;
+	uint16_t mtu;
 	int fd;
 
 	DBG("");
@@ -2910,9 +2911,10 @@ static void bt_sco_get_fd(const void *buf, uint16_t len)
 	android2bdaddr(cmd->bdaddr, &bdaddr);
 
 	dev = find_device(&bdaddr);
-	if (!dev || !bt_sco_get_fd_and_mtu(sco, &fd, &rsp.mtu))
+	if (!dev || !bt_sco_get_fd_and_mtu(sco, &fd, &mtu))
 		goto failed;
 
+	rsp.mtu = mtu;
 	DBG("fd %d mtu %u", fd, rsp.mtu);
 
 	ipc_send_rsp_full(sco_ipc, SCO_SERVICE_ID, SCO_OP_GET_FD,
-- 
2.21.0




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux