[brlcad-commits] SF.net SVN: brlcad:[48480] brlcad/trunk/src/shapes/fence.c
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <br...@us...> - 2012-01-12 02:07:03
|
Revision: 48480 http://brlcad.svn.sourceforge.net/brlcad/?rev=48480&view=rev Author: brlcad Date: 2012-01-12 02:06:57 +0000 (Thu, 12 Jan 2012) Log Message: ----------- fixes for coverity FORWARD_NULL and RESOURCE_LEAK defects (cid 1848,1849,1878) where we kept processing if a db operation failed. memory leak was a malloc() that snuck past libbu memory allocation conversion reviews somehow. Modified Paths: -------------- brlcad/trunk/src/shapes/fence.c Modified: brlcad/trunk/src/shapes/fence.c =================================================================== --- brlcad/trunk/src/shapes/fence.c 2012-01-12 01:54:22 UTC (rev 48479) +++ brlcad/trunk/src/shapes/fence.c 2012-01-12 02:06:57 UTC (rev 48480) @@ -1028,6 +1028,7 @@ } else { if (debug) fprintf(DEFAULT_DEBUG_OUTPUT, "generateMesh:mk_addmember wireName[%s], count2[%d] FAILED (region)\n", wireName, count); errors++; + return errors; } matrixextractor->wm_mat[3] = dx; matrixextractor->wm_mat[7] = dy; @@ -1106,11 +1107,8 @@ struct wmember wireregionmembers; struct wmember *matrixextractor; - matrixextractor = (struct wmember *) malloc(sizeof(struct wmember)); - if (matrixextractor == NULL) { - if (debug) fprintf(DEFAULT_DEBUG_OUTPUT, "generateWire:(struct wmember *)matrixextractor malloc FAILED\n"); - errors++; - } + matrixextractor = (struct wmember *) bu_calloc(1, sizeof(struct wmember), "wmember"); + BU_LIST_INIT(&basicmeshmembers.l); BU_LIST_INIT(&wiremembers.l); BU_LIST_INIT(&basicmeshregionmembers.l); @@ -1175,6 +1173,7 @@ } else { if (debug) fprintf(DEFAULT_DEBUG_OUTPUT, "generateWire:mk_addmember wirename[%s], count2[%d] FAILED\n", wirename, count); errors++; + return errors; } matrixextractor->wm_mat[3] = dx; matrixextractor->wm_mat[7] = dy; @@ -1214,6 +1213,7 @@ errors++; } + bu_free(matrixextractor, "matrixextractor"); return errors; } @@ -1806,7 +1806,6 @@ errors++; } - return errors; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |