[Bf-blender-cvs] [6f0dd4f0f04] master: Fix: memory leak after type conversion in geometry nodes group
Jacques Lucke
noreply at git.blender.org
Sun Oct 24 19:26:35 CEST 2021
Commit: 6f0dd4f0f045916c9a4b4fc786a69fd7b7d2d530
Author: Jacques Lucke
Date: Sun Oct 24 19:26:07 2021 +0200
Branches: master
https://developer.blender.org/rB6f0dd4f0f045916c9a4b4fc786a69fd7b7d2d530
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.
===================================================================
M source/blender/modifiers/intern/MOD_nodes_evaluator.cc
===================================================================
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};
}
More information about the Bf-blender-cvs
mailing list