[Bf-blender-cvs] [4a76934ba3a] temp-lineart-contained: Outliner: Fix memory errors in runtime data

Nathan Craddock noreply at git.blender.org
Sat Dec 19 06:18:55 CET 2020


Commit: 4a76934ba3ad1d26744197bc79664adada81a0f4
Author: Nathan Craddock
Date:   Sat Nov 14 14:09:53 2020 -0700
Branches: temp-lineart-contained
https://developer.blender.org/rB4a76934ba3ad1d26744197bc79664adada81a0f4

Outliner: Fix memory errors in runtime data

Fix a heap-use-after-free when duplicating outliner editors, and fully
free runtime data when freeing outliner editors.

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

M	source/blender/editors/space_outliner/space_outliner.c

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

diff --git a/source/blender/editors/space_outliner/space_outliner.c b/source/blender/editors/space_outliner/space_outliner.c
index ce772043e3b..5ec55eee7fb 100644
--- a/source/blender/editors/space_outliner/space_outliner.c
+++ b/source/blender/editors/space_outliner/space_outliner.c
@@ -53,6 +53,7 @@
 
 #include "GPU_framebuffer.h"
 #include "outliner_intern.h"
+#include "tree/tree_display.h"
 
 static void outliner_main_region_init(wmWindowManager *wm, ARegion *region)
 {
@@ -353,6 +354,7 @@ static void outliner_free(SpaceLink *sl)
   }
 
   if (space_outliner->runtime) {
+    outliner_tree_display_destroy(&space_outliner->runtime->tree_display);
     MEM_freeN(space_outliner->runtime);
   }
 }
@@ -381,6 +383,7 @@ static SpaceLink *outliner_duplicate(SpaceLink *sl)
 
   if (space_outliner->runtime) {
     space_outliner_new->runtime = MEM_dupallocN(space_outliner->runtime);
+    space_outliner_new->runtime->tree_display = NULL;
   }
 
   return (SpaceLink *)space_outliner_new;



More information about the Bf-blender-cvs mailing list