From 9fc37a3be4b474d8540e2e8445e0408f3916adf1 Mon Sep 17 00:00:00 2001 From: Yuval Tassa Date: Fri, 12 Dec 2025 05:34:35 -0800 Subject: [PATCH] Fix aliasing violations in engine_collision_box.c PiperOrigin-RevId: 843647612 Change-Id: If8ad12c058a30ec475b9eb47d315019edbb8a7bb --- src/engine/engine_collision_box.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/engine/engine_collision_box.c b/src/engine/engine_collision_box.c index ace8de96..b953f76f 100644 --- a/src/engine/engine_collision_box.c +++ b/src/engine/engine_collision_box.c @@ -938,11 +938,10 @@ int mjc_BoxBox(const mjModel* M, const mjData* D, mjContact* con, int g1, int g2 m = n; n = 0; - for (i = 0; i < m; i++) - { + for (i = 0; i < m; i++) { if (points[i][2] > margin) continue; - mji_copy3(points[n], points[i]); + if (n != i) mji_copy3(points[n], points[i]); depth[n] = points[n][2]; points[n][2] *= 0.5; @@ -1256,7 +1255,7 @@ edgeedge: if (c1 > margin2) continue; - mji_add3(points[n], points[n], tmp1); + mji_addTo3(points[n], tmp1); mju_scl3(points[n], points[n], 0.5); depth[n] = sqrt(c1) * (tmp1[2] < 0 ? -1 : 1);