[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56511] trunk/blender/source/blender/ blenloader/intern/readfile.c: Another correction to svn rev56509

Sergey Sharybin sergey.vfx at gmail.com
Mon May 6 14:27:15 CEST 2013


Revision: 56511
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56511
Author:   nazgul
Date:     2013-05-06 12:27:14 +0000 (Mon, 06 May 2013)
Log Message:
-----------
Another correction to svn rev56509

Initial fix was not fully working, because faulty
edge shared the same address as screen area. This
lead to screen freeing issues -- double free (which
was supressed by guarded allocation actually) but
also freed memory access when iterating via edges
to free them.

Solved by a small hack which removes edges with bad
vertices from edges list. This prevents double-free
and freed memory access cased by corrupted files we're
currently fixing. In other cases this tweak is likely
be harmless -- in worst case scenario it'll lead to
small memory leak, which is not as much lethal as
freed memory access.

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56509

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/intern/readfile.c

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2013-05-06 11:38:21 UTC (rev 56510)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2013-05-06 12:27:14 UTC (rev 56511)
@@ -6176,6 +6176,7 @@
 		
 		if (se->v1 == NULL) {
 			printf("Error reading Screen %s... removing it.\n", sc->id.name+2);
+			BLI_remlink(&sc->edgebase, se);
 			wrong_id = true;
 		}
 	}




More information about the Bf-blender-cvs mailing list