Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2021-10-24 20:26:07 +0300
committerJacques Lucke <jacques@blender.org>2021-10-24 20:26:07 +0300
commit6f0dd4f0f045916c9a4b4fc786a69fd7b7d2d530 (patch)
treec14c1d6cdf1fe2d1bc5ae04271a8555038dfdbc4 /source/blender
parent665657812d5d0ab37e72ec732102dbc9f4d34b90 (diff)
Fix: memory leak after type conversion in geometry nodes group
The leak happened when two things were true: * Inside of a node group a socket is linked to a Group Input that has a different type. * The corresponding input on the parent Group node is not linked. The conversion happened correctly, but the original value wasn't destructed.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/modifiers/intern/MOD_nodes_evaluator.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/modifiers/intern/MOD_nodes_evaluator.cc b/source/blender/modifiers/intern/MOD_nodes_evaluator.cc
index 69132f6c177..a312872f5d9 100644
--- a/source/blender/modifiers/intern/MOD_nodes_evaluator.cc
+++ b/source/blender/modifiers/intern/MOD_nodes_evaluator.cc
@@ -1455,6 +1455,7 @@ class GeometryNodesEvaluator {
}
void *converted_buffer = allocator.allocate(required_type.size(), required_type.alignment());
this->convert_value(type, required_type, buffer, converted_buffer);
+ type.destruct(buffer);
return {required_type, converted_buffer};
}