[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42205] branches/bmesh/blender/source/ blender/bmesh/intern/bmesh_operators.c: fix for minor memory leak for BMO_VInitOpf() in an error case, also use the BLI version of strdup().
Campbell Barton
ideasman42 at gmail.com
Mon Nov 28 06:00:43 CET 2011
Revision: 42205
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42205
Author: campbellbarton
Date: 2011-11-28 05:00:34 +0000 (Mon, 28 Nov 2011)
Log Message:
-----------
fix for minor memory leak for BMO_VInitOpf() in an error case, also use the BLI version of strdup().
Modified Paths:
--------------
branches/bmesh/blender/source/blender/bmesh/intern/bmesh_operators.c
Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_operators.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_operators.c 2011-11-28 04:19:44 UTC (rev 42204)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_operators.c 2011-11-28 05:00:34 UTC (rev 42205)
@@ -1126,14 +1126,14 @@
int noslot=0;
/*we muck around in here, so dup it*/
- fmt = ofmt = strdup(fmt);
+ fmt = ofmt = BLI_strdup(fmt);
/*find operator name*/
i = strcspn(fmt, " \t");
opname = fmt;
if (!opname[i]) noslot = 1;
- opname[i] = 0;
+ opname[i] = '\0';
fmt += i + (noslot ? 0 : 1);
@@ -1141,8 +1141,11 @@
if (!strcmp(opname, opdefines[i]->name)) break;
}
- if (i == bmesh_total_ops) return 0;
-
+ if (i == bmesh_total_ops) {
+ MEM_freeN(ofmt);
+ return 0;
+ }
+
BMO_Init_Op(bm, op, opname);
def = opdefines[i];
@@ -1272,7 +1275,7 @@
fmt++;
}
- free(ofmt);
+ MEM_freeN(ofmt);
return 1;
error:
BMO_Finish_Op(bm, op);
More information about the Bf-blender-cvs
mailing list