From: Matt Turner Date: Thu, 26 May 2016 22:52:33 +0000 (-0700) Subject: swrast: Avoid aliasing violation. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a1e9b72102f21426b6c4e6b47ac1742eb79d904f;p=mesa.git swrast: Avoid aliasing violation. Reviewed-by: Brian Paul Reviewed-by: Ian Romanick --- diff --git a/src/mesa/swrast/s_masking.c b/src/mesa/swrast/s_masking.c index c95587b204c..c10bf1ac251 100644 --- a/src/mesa/swrast/s_masking.c +++ b/src/mesa/swrast/s_masking.c @@ -56,8 +56,8 @@ _swrast_mask_rgba_span(struct gl_context *ctx, struct gl_renderbuffer *rb, * Note that we're not using span->array->mask[] here. We could... */ if (span->array->ChanType == GL_UNSIGNED_BYTE) { - /* treat 4xGLubyte as 1xGLuint */ - const GLuint srcMask = *((GLuint *) ctx->Color.ColorMask[buf]); + GLuint srcMask; + memcpy(&srcMask, ctx->Color.ColorMask[buf], sizeof(srcMask)); const GLuint dstMask = ~srcMask; const GLuint *dst = (const GLuint *) rbPixels; GLuint *src = (GLuint *) span->array->rgba8;