From 9fed39c7b0e21d46a65ddc08b806f686ec2706dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Tue, 15 Jan 2019 16:14:05 +0100 Subject: Alembic export: fixed memory leak If the triangulated mesh was in itself a new mesh that should be freed this should happen before the function returns (as it only returns a single mesh, and thus the caller can only free one). --- source/blender/alembic/intern/abc_mesh.cc | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'source/blender/alembic') diff --git a/source/blender/alembic/intern/abc_mesh.cc b/source/blender/alembic/intern/abc_mesh.cc index 50698ef728e..9cc5edc505b 100644 --- a/source/blender/alembic/intern/abc_mesh.cc +++ b/source/blender/alembic/intern/abc_mesh.cc @@ -550,6 +550,10 @@ Mesh *AbcMeshWriter::getFinalMesh(bool &r_needsfree) Mesh *result = BKE_mesh_from_bmesh_for_eval_nomain(bm, 0); BM_mesh_free(bm); + if (r_needsfree) { + BKE_id_free(NULL, mesh); + } + mesh = result; r_needsfree = true; } -- cgit v1.2.3