From 0c879ab28828afdffe0f6a8effb1830fd814868e Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Mon, 2 Aug 2021 23:07:18 +0800 Subject: [PATCH] Fix crash when number of indices to optimize is not a multiple of 3 --- scene/resources/surface_tool.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/scene/resources/surface_tool.cpp b/scene/resources/surface_tool.cpp index 9f8c35b668f..875aa30824f 100644 --- a/scene/resources/surface_tool.cpp +++ b/scene/resources/surface_tool.cpp @@ -1120,6 +1120,7 @@ SurfaceTool::CustomFormat SurfaceTool::get_custom_format(int p_index) const { void SurfaceTool::optimize_indices_for_cache() { ERR_FAIL_COND(optimize_vertex_cache_func == nullptr); ERR_FAIL_COND(index_array.size() == 0); + ERR_FAIL_COND(index_array.size() % 3 != 0); LocalVector old_index_array = index_array; memset(index_array.ptr(), 0, index_array.size() * sizeof(int));