]> git.sur5r.net Git - i3/i3/commitdiff
Fix unaligned memory access on sparc (Thanks David Coppa)
authorMichael Stapelberg <michael@stapelberg.de>
Thu, 28 Apr 2011 19:44:29 +0000 (21:44 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Thu, 28 Apr 2011 19:44:29 +0000 (21:44 +0200)
src/ipc.c

index e63718cb2eadf186f4899cd2fed9d28c545c6e9f..d0dc1920ede581d8a9ef3b826b11bbd226c18048 100644 (file)
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -597,7 +597,8 @@ static void ipc_receive_message(EV_P_ struct ev_io *w, int revents) {
         n -= strlen(I3_IPC_MAGIC);
 
         /* The next 32 bit after the magic are the message size */
-        uint32_t message_size = *((uint32_t*)message);
+        uint32_t message_size;
+        memcpy(&message_size, (uint32_t*)message, sizeof(uint32_t));
         message += sizeof(uint32_t);
         n -= sizeof(uint32_t);
 
@@ -607,7 +608,8 @@ static void ipc_receive_message(EV_P_ struct ev_io *w, int revents) {
         }
 
         /* The last 32 bits of the header are the message type */
-        uint32_t message_type = *((uint32_t*)message);
+        uint32_t message_type;
+        memcpy(&message_type, (uint32_t*)message, sizeof(uint32_t));
         message += sizeof(uint32_t);
         n -= sizeof(uint32_t);