summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaoyu Qiu <timothyqiu32@gmail.com>2021-09-27 20:35:56 +0800
committerHaoyu Qiu <timothyqiu32@gmail.com>2021-09-27 20:35:56 +0800
commitab280de765131d7723b4d3f1a3066d26d63d79a7 (patch)
tree3802d32acb4250d0241b4561ada6ca7cf867da51
parenta98453670c8afd33af779782bfa904f838f13e43 (diff)
Validate before passing indices to meshoptimizer
-rw-r--r--scene/resources/surface_tool.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/scene/resources/surface_tool.cpp b/scene/resources/surface_tool.cpp
index d5e370568d..a8cd872408 100644
--- a/scene/resources/surface_tool.cpp
+++ b/scene/resources/surface_tool.cpp
@@ -1176,6 +1176,7 @@ Vector<int> SurfaceTool::generate_lod(float p_threshold, int p_target_index_coun
ERR_FAIL_COND_V(simplify_func == nullptr, lod);
ERR_FAIL_COND_V(vertex_array.size() == 0, lod);
ERR_FAIL_COND_V(index_array.size() == 0, lod);
+ ERR_FAIL_COND_V(index_array.size() % 3 != 0, lod);
lod.resize(index_array.size());
LocalVector<float> vertices; //uses floats