[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36852] branches/bmesh/blender/source/ blender/blenlib/intern/scanfill.c: fix for crash if scanfill fails
Campbell Barton
ideasman42 at gmail.com
Tue May 24 07:59:14 CEST 2011
Revision: 36852
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36852
Author: campbellbarton
Date: 2011-05-24 05:59:14 +0000 (Tue, 24 May 2011)
Log Message:
-----------
fix for crash if scanfill fails
Modified Paths:
--------------
branches/bmesh/blender/source/blender/blenlib/intern/scanfill.c
Modified: branches/bmesh/blender/source/blender/blenlib/intern/scanfill.c
===================================================================
--- branches/bmesh/blender/source/blender/blenlib/intern/scanfill.c 2011-05-24 05:58:12 UTC (rev 36851)
+++ branches/bmesh/blender/source/blender/blenlib/intern/scanfill.c 2011-05-24 05:59:14 UTC (rev 36852)
@@ -159,19 +159,22 @@
}
else if(size== -1) {
/*BMESH_TODO: keep the first block, gives memory leak on exit with 'newmem' */
- first = lb.first;
- BLI_remlink(&lb, first);
- cur= lb.first;
- while(cur) {
- MEM_freeN(cur->data);
- cur= cur->next;
+ if((first= lb.first)) { /* can be false if first fill fails */
+ BLI_remlink(&lb, first);
+
+ cur= lb.first;
+ while(cur) {
+ MEM_freeN(cur->data);
+ cur= cur->next;
+ }
+ BLI_freelistN(&lb);
+
+ /*reset the block we're keeping*/
+ BLI_addtail(&lb, first);
+ memset(first->data, 0, blocksize);
}
- BLI_freelistN(&lb);
-
- /*reset the block we're keeping*/
- BLI_addtail(&lb, first);
- memset(first->data, 0, blocksize);
+
cur= first;
offs= 0;
More information about the Bf-blender-cvs
mailing list