Fix memory corruption and assert failures in convex decomposition

This PR fixes how triangular faces are decomposed into vertices and indices. The pre-increment resulted in the indices table skipping entry 0 and potentially overrunning the end of the vertices vector.

(cherry picked from commit bf7cdc5229)
This commit is contained in:
Malcolm Nixon 2024-01-23 20:20:18 +01:00 committed by Yuri Sizov
parent e7db7b552d
commit 5115b119f8
1 changed files with 1 additions and 1 deletions

View File

@ -971,7 +971,7 @@ Vector<Ref<Shape3D>> ImporterMesh::convex_decompose(const Ref<MeshConvexDecompos
if (found_vertex) { if (found_vertex) {
index = found_vertex->value; index = found_vertex->value;
} else { } else {
index = ++vertex_count; index = vertex_count++;
vertex_map[vertex] = index; vertex_map[vertex] = index;
vertex_w[index] = vertex; vertex_w[index] = vertex;
} }