summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-04-26 11:09:08 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-04-26 11:09:08 +0200
commit86bf8354a06ab7b23a0ff6a81b48fd015e92ac94 (patch)
tree2547611bfb8b1ee15f1a2db9f85df5cc36c3e581
parentf55b81be1e6bc20b887662115993ae01846b91bd (diff)
parent01135bc533bb294b45de7f1aac187e529c171c29 (diff)
downloadredot-engine-86bf8354a06ab7b23a0ff6a81b48fd015e92ac94.tar.gz
Merge pull request #91198 from jsjtxietian/SurfaceTool
Fix `SurfaceTool.create_from_arrays` crash with bad index
-rw-r--r--scene/resources/surface_tool.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/scene/resources/surface_tool.cpp b/scene/resources/surface_tool.cpp
index 9f2fad410c..b83be8b6ef 100644
--- a/scene/resources/surface_tool.cpp
+++ b/scene/resources/surface_tool.cpp
@@ -803,6 +803,8 @@ const uint32_t SurfaceTool::custom_mask[RS::ARRAY_CUSTOM_COUNT] = { Mesh::ARRAY_
const uint32_t SurfaceTool::custom_shift[RS::ARRAY_CUSTOM_COUNT] = { Mesh::ARRAY_FORMAT_CUSTOM0_SHIFT, Mesh::ARRAY_FORMAT_CUSTOM1_SHIFT, Mesh::ARRAY_FORMAT_CUSTOM2_SHIFT, Mesh::ARRAY_FORMAT_CUSTOM3_SHIFT };
void SurfaceTool::create_vertex_array_from_arrays(const Array &p_arrays, LocalVector<SurfaceTool::Vertex> &ret, uint64_t *r_format) {
+ ERR_FAIL_INDEX(RS::ARRAY_WEIGHTS, p_arrays.size());
+
ret.clear();
Vector<Vector3> varr = p_arrays[RS::ARRAY_VERTEX];