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:
authorAndrew Williams <sobakasu>2019-01-22 14:51:14 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-01-22 17:24:06 +0300
commit102631486b480d98c2d9b921a95472688bba8416 (patch)
tree56e6db8ef761ec3ce19a395c14eb30b518fabafb /source/blender/blenlib/intern/BLI_kdopbvh.c
parent414ebc68c2cccabc20eb9b966c8235d222874d56 (diff)
Fix potential invalid memory access in surface force field BVH tree.
Free the BVH tree immediately along with the mesh, otherwise we might access invalid mesh data. Differential Revision: https://developer.blender.org/D4201
Diffstat (limited to 'source/blender/blenlib/intern/BLI_kdopbvh.c')
-rw-r--r--source/blender/blenlib/intern/BLI_kdopbvh.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/source/blender/blenlib/intern/BLI_kdopbvh.c b/source/blender/blenlib/intern/BLI_kdopbvh.c
index d497c7a83ab..2819c1c5943 100644
--- a/source/blender/blenlib/intern/BLI_kdopbvh.c
+++ b/source/blender/blenlib/intern/BLI_kdopbvh.c
@@ -908,23 +908,17 @@ BVHTree *BLI_bvhtree_new(int maxsize, float epsilon, char tree_type, char axis)
fail:
- MEM_SAFE_FREE(tree->nodes);
- MEM_SAFE_FREE(tree->nodebv);
- MEM_SAFE_FREE(tree->nodechild);
- MEM_SAFE_FREE(tree->nodearray);
-
- MEM_freeN(tree);
-
+ BLI_bvhtree_free(tree);
return NULL;
}
void BLI_bvhtree_free(BVHTree *tree)
{
if (tree) {
- MEM_freeN(tree->nodes);
- MEM_freeN(tree->nodearray);
- MEM_freeN(tree->nodebv);
- MEM_freeN(tree->nodechild);
+ MEM_SAFE_FREE(tree->nodes);
+ MEM_SAFE_FREE(tree->nodearray);
+ MEM_SAFE_FREE(tree->nodebv);
+ MEM_SAFE_FREE(tree->nodechild);
MEM_freeN(tree);
}
}