[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12192] trunk/blender/source/blender/src/ editcurve.c: Patch #7436 by Changlin Zhou (shzhc):

Joshua Leung aligorith at gmail.com
Tue Oct 2 13:19:01 CEST 2007


Revision: 12192
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12192
Author:   aligorith
Date:     2007-10-02 13:19:01 +0200 (Tue, 02 Oct 2007)

Log Message:
-----------
Patch #7436 by Changlin Zhou (shzhc):

The patch submitter found a case where freed memory was being accessed again later. Fortunately (or unfortunately), this bug has not shown itself so far, and has therefore been easy to miss. In fact, somehow, everything still manages to work correctly without it.

Modified Paths:
--------------
    trunk/blender/source/blender/src/editcurve.c

Modified: trunk/blender/source/blender/src/editcurve.c
===================================================================
--- trunk/blender/source/blender/src/editcurve.c	2007-10-02 11:14:12 UTC (rev 12191)
+++ trunk/blender/source/blender/src/editcurve.c	2007-10-02 11:19:01 UTC (rev 12192)
@@ -2702,6 +2702,7 @@
 			newbp->f1= 1;
 			MEM_freeN(nu->bp);
 			nu->bp= newbp;
+			bp= newbp + 1;
 		}
 		else if(bp== (nu->bp+nu->pntsu-1)) {  /* last */
 			bp->f1= 0;
@@ -2713,15 +2714,16 @@
 			nu->bp= newbp;
 			newbp+= nu->pntsu;
 			newbp->f1= 1;
+			bp= newbp - 1;
 		}
 		else bp= 0;
 
 		if(bp) {
 			nu->pntsu++;
-
+			
 			if(nu->resolu<3) nu->resolu++;
 			makeknots(nu, 1, nu->flagu>>1);
-
+			
 			if(mode=='e') {
 				VECCOPY(newbp->vec, bp->vec);
 			}





More information about the Bf-blender-cvs mailing list