[Bf-blender-cvs] [765b842] master: Subsurf: missing NULL checks on free

Campbell Barton noreply at git.blender.org
Sun Feb 22 22:35:01 CET 2015


Commit: 765b842f9520843183bf0a3cdcd071f152bbbf9e
Author: Campbell Barton
Date:   Mon Feb 23 08:33:32 2015 +1100
Branches: master
https://developer.blender.org/rB765b842f9520843183bf0a3cdcd071f152bbbf9e

Subsurf: missing NULL checks on free

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

M	source/blender/blenkernel/intern/CCGSubSurf.c

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

diff --git a/source/blender/blenkernel/intern/CCGSubSurf.c b/source/blender/blenkernel/intern/CCGSubSurf.c
index 651979c..cadca6b 100644
--- a/source/blender/blenkernel/intern/CCGSubSurf.c
+++ b/source/blender/blenkernel/intern/CCGSubSurf.c
@@ -579,8 +579,14 @@ static float *_vert_getNo(CCGVert *v, int lvl, int dataSize, int normalDataOffse
 
 static void _vert_free(CCGVert *v, CCGSubSurf *ss)
 {
-	CCGSUBSURF_free(ss, v->edges);
-	CCGSUBSURF_free(ss, v->faces);
+	if (v->edges) {
+		CCGSUBSURF_free(ss, v->edges);
+	}
+
+	if (v->faces) {
+		CCGSUBSURF_free(ss, v->faces);
+	}
+
 	CCGSUBSURF_free(ss, v);
 }
 
@@ -669,7 +675,10 @@ static void *_edge_getCoVert(CCGEdge *e, CCGVert *v, int lvl, int x, int dataSiz
 
 static void _edge_free(CCGEdge *e, CCGSubSurf *ss)
 {
-	CCGSUBSURF_free(ss, e->faces);
+	if (e->faces) {
+		CCGSUBSURF_free(ss, e->faces);
+	}
+
 	CCGSUBSURF_free(ss, e);
 }
 static void _edge_unlinkMarkAndFree(CCGEdge *e, CCGSubSurf *ss)




More information about the Bf-blender-cvs mailing list