From: Erik Faye-Lund Date: Mon, 8 Aug 2016 08:11:31 +0000 (+0200) Subject: st/mesa: avoid aliasing violation in st_cb_perfmon.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c33807463e47204a55a5db6709f736e389ddb64c;p=mesa.git st/mesa: avoid aliasing violation in st_cb_perfmon.c Signed-off-by: Erik Faye-Lund Reviewed-by: Nicolai Hähnle --- diff --git a/src/mesa/state_tracker/st_cb_perfmon.c b/src/mesa/state_tracker/st_cb_perfmon.c index cd7fdc06173..23d32dcad47 100644 --- a/src/mesa/state_tracker/st_cb_perfmon.c +++ b/src/mesa/state_tracker/st_cb_perfmon.c @@ -308,16 +308,16 @@ st_GetPerfMonitorResult(struct gl_context *ctx, data[offset++] = cid; switch (type) { case GL_UNSIGNED_INT64_AMD: - *(uint64_t *)&data[offset] = result.u64; + memcpy(&data[offset], &result.u64, sizeof(uint64_t)); offset += sizeof(uint64_t) / sizeof(GLuint); break; case GL_UNSIGNED_INT: - *(uint32_t *)&data[offset] = result.u32; + memcpy(&data[offset], &result.u32, sizeof(uint32_t)); offset += sizeof(uint32_t) / sizeof(GLuint); break; case GL_FLOAT: case GL_PERCENTAGE_AMD: - *(GLfloat *)&data[offset] = result.f; + memcpy(&data[offset], &result.f, sizeof(GLfloat)); offset += sizeof(GLfloat) / sizeof(GLuint); break; }