[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