From b3e5143f5a56beee63529fd25b44522ae282e226 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Mon, 17 Nov 2014 22:33:32 +0100 Subject: hidpp-device: avoid unaligned memory access Fixes a -Wcast-align warning and a -fsanitize=undefined error. https://bugs.freedesktop.org/show_bug.cgi?id=71079 --- src/linux/hidpp-device.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/linux/hidpp-device.c b/src/linux/hidpp-device.c index 19a0ae6..106f55a 100644 --- a/src/linux/hidpp-device.c +++ b/src/linux/hidpp-device.c @@ -818,7 +818,7 @@ hidpp_device_refresh (HidppDevice *device, /* get serial number, this can be queried from the receiver */ if ((refresh_flags & HIDPP_REFRESH_FLAGS_SERIAL) > 0) { - guint32 *serialp; + guint32 serial; msg.type = HIDPP_MSG_TYPE_SHORT; msg.device_idx = HIDPP_RECEIVER_ADDRESS; @@ -834,8 +834,8 @@ hidpp_device_refresh (HidppDevice *device, if (!ret) goto out; - serialp = (guint32 *) &msg.l.params[1]; - priv->serial = g_strdup_printf ("%08X", g_ntohl(*serialp)); + memcpy (&serial, msg.l.params + 1, sizeof(serial)); + priv->serial = g_strdup_printf ("%08X", g_ntohl(serial)); } /* get battery status */ -- cgit v1.2.1