Revision: 43793
          http://brlcad.svn.sourceforge.net/brlcad/?rev=43793&view=rev
Author:   brlcad
Date:     2011-03-08 21:19:51 +0000 (Tue, 08 Mar 2011)

Log Message:
-----------
add some error recovery to gqa so that we don't bomb out during 
bu_malloc/bu_calloc when passed a zero size allocation.  probably means 
something earlier went awry but check here regardless so we can be more 
graceful about halting.

Modified Paths:
--------------
    brlcad/trunk/src/libged/gqa.c

Modified: brlcad/trunk/src/libged/gqa.c
===================================================================
--- brlcad/trunk/src/libged/gqa.c       2011-03-08 21:05:55 UTC (rev 43792)
+++ brlcad/trunk/src/libged/gqa.c       2011-03-08 21:19:51 UTC (rev 43793)
@@ -1498,9 +1498,30 @@
     int i;
     int m;
 
-    if (start > ac) /* what? */
+    if (start > ac) {
+       /* what? */
+       bu_log("WARNING: Internal error (start:%d > ac:%d).\n", start, ac);
        return;
+    }
 
+    if (num_objects < 1) {
+       /* what?? */
+       bu_log("WARNING: No objects remaining.\n");
+       return;
+    }
+
+    if (num_views == 0) {
+       /* crap. */
+       bu_log("WARNING: No views specified.\n");
+       return;
+    }
+
+    if (rtip->nregions == 0) {
+       /* dammit! */
+       bu_log("WARNING: No regions remaining.\n");
+       return;
+    }
+
     state->m_lenDensity = bu_calloc(num_views, sizeof(double), "densityLen");
     state->m_len = bu_calloc(num_views, sizeof(double), "volume");
     state->m_volume = bu_calloc(num_views, sizeof(double), "volume");


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
What You Don't Know About Data Connectivity CAN Hurt You
This paper provides an overview of data connectivity, details
its effect on application quality, and explores various alternative
solutions. http://p.sf.net/sfu/progress-d2d
_______________________________________________
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to