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.


------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to