From: Michael Stapelberg Date: Thu, 28 Apr 2011 19:47:14 +0000 (+0200) Subject: Fix unaligned memory access on sparc (Thanks David Coppa) X-Git-Tag: 4.0~15 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=1ddb1e6dfa8038fb87a926c730fc26a9951fa652;p=i3%2Fi3 Fix unaligned memory access on sparc (Thanks David Coppa) --- diff --git a/src/ipc.c b/src/ipc.c index 3b4bb524..13bc4ffb 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -463,7 +463,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); @@ -473,7 +474,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);