From 1db918f94826ff65e2530a5f9bc3ef859b5b585d Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Thu, 13 Apr 2023 09:21:10 -0400 Subject: [PATCH] Fix #106901: Dangling pointer after freeing mesh runtime data This lead to a double-free when deleting the mesh runtime struct after explicitly clearing the derived caches separately. --- source/blender/blenkernel/intern/mesh_runtime.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/blenkernel/intern/mesh_runtime.cc b/source/blender/blenkernel/intern/mesh_runtime.cc index 85c391503b6..7935b6d692b 100644 --- a/source/blender/blenkernel/intern/mesh_runtime.cc +++ b/source/blender/blenkernel/intern/mesh_runtime.cc @@ -224,6 +224,7 @@ void BKE_mesh_runtime_clear_geometry(Mesh *mesh) mesh->runtime->subsurf_optimal_display_edges.clear_and_shrink(); if (mesh->runtime->shrinkwrap_data) { BKE_shrinkwrap_boundary_data_free(mesh->runtime->shrinkwrap_data); + mesh->runtime->shrinkwrap_data = nullptr; } }