[Bf-blender-cvs] [1555cf758f4] blender2.8: Freestyle: Fix access freed memory when freeing fresstyle bmain

Sergey Sharybin noreply at git.blender.org
Thu Nov 2 18:02:35 CET 2017


Commit: 1555cf758f401fbc1d3a4aba0029b4298a2c5001
Author: Sergey Sharybin
Date:   Thu Nov 2 17:58:11 2017 +0100
Branches: blender2.8
https://developer.blender.org/rB1555cf758f401fbc1d3a4aba0029b4298a2c5001

Freestyle: Fix access freed memory when freeing fresstyle bmain

Some of the uninitializaiton code was leaving bases pointing freed memory.

===================================================================

M	source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp

===================================================================

diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
index 6d5d23c4d47..354d796f2e0 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
@@ -194,6 +194,15 @@ BlenderStrokeRenderer::~BlenderStrokeRenderer()
 		}
 	}
 
+	// Make sure we don't have any bases which might reference freed objects.
+	FOREACH_SCENE_COLLECTION(freestyle_scene, sc)
+	{
+		BLI_freelistN(&sc->objects);
+	}
+	FOREACH_SCENE_COLLECTION_END
+	BLI_freelistN(&scene_layer->object_bases);
+	BLI_freelistN(&freestyle_scene->base);
+
 	// release materials
 	Link *lnk = (Link *)freestyle_bmain->mat.first;



More information about the Bf-blender-cvs mailing list