From b7f46d12e2701f968f7e1b42aaaf019dabbeb8c6 Mon Sep 17 00:00:00 2001 From: lotodore Date: Tue, 27 Nov 2012 23:11:50 +0100 Subject: [PATCH] Still trying to fix "dereferencing type-punned pointer will break strict-aliasing rules"-warning. --- src/net/common/receivebuffer.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/net/common/receivebuffer.cpp b/src/net/common/receivebuffer.cpp index e9ef0ac9..7bd2a504 100644 --- a/src/net/common/receivebuffer.cpp +++ b/src/net/common/receivebuffer.cpp @@ -82,8 +82,9 @@ ReceiveBuffer::ScanPackets() // several packets may be received at once. if (recvBufUsed >= NET_HEADER_SIZE) { // Read the size of the packet (first 4 bytes in network byte order). - const char *recvBufStart = &recvBuf[0]; - size_t packetSize = ntohl(*((const uint32_t *)&recvBufStart)); + uint32_t nativeVal; + memcpy(&nativeVal, &recvBuf[0], sizeof(uint32_t)); + size_t packetSize = ntohl(nativeVal); if (recvBufUsed >= packetSize + NET_HEADER_SIZE) { try {