Revision: 65147
          http://sourceforge.net/p/brlcad/code/65147
Author:   starseeker
Date:     2015-06-02 01:09:27 +0000 (Tue, 02 Jun 2015)
Log Message:
-----------
protect the free calls.

Modified Paths:
--------------
    brlcad/trunk/src/libanalyze/raydiff.c

Modified: brlcad/trunk/src/libanalyze/raydiff.c
===================================================================
--- brlcad/trunk/src/libanalyze/raydiff.c       2015-06-01 23:58:47 UTC (rev 
65146)
+++ brlcad/trunk/src/libanalyze/raydiff.c       2015-06-02 01:09:27 UTC (rev 
65147)
@@ -50,25 +50,30 @@
 {
     size_t i;
     if (!results) return;
-    for (i = 0; i < BU_PTBL_LEN(results->left); i++) {
-       struct diff_seg *dseg = (struct diff_seg *)BU_PTBL_GET(results->left, 
i);
-       BU_PUT(dseg, struct diff_seg);
+    if (results->left) {
+       for (i = 0; i < BU_PTBL_LEN(results->left); i++) {
+           struct diff_seg *dseg = (struct diff_seg 
*)BU_PTBL_GET(results->left, i);
+           BU_PUT(dseg, struct diff_seg);
+       }
+       bu_ptbl_free(results->left);
+       BU_PUT(results->left, struct diff_seg);
     }
-    bu_ptbl_free(results->left);
-    BU_PUT(results->left, struct diff_seg);
-    for (i = 0; i < BU_PTBL_LEN(results->both); i++) {
-       struct diff_seg *dseg = (struct diff_seg *)BU_PTBL_GET(results->both, 
i);
-       BU_PUT(dseg, struct diff_seg);
+    if (results->both) {
+       for (i = 0; i < BU_PTBL_LEN(results->both); i++) {
+           struct diff_seg *dseg = (struct diff_seg 
*)BU_PTBL_GET(results->both, i);
+           BU_PUT(dseg, struct diff_seg);
+       }
+       bu_ptbl_free(results->both);
+       BU_PUT(results->both, struct diff_seg);
     }
-    bu_ptbl_free(results->both);
-    BU_PUT(results->both, struct diff_seg);
-    for (i = 0; i < BU_PTBL_LEN(results->right); i++) {
-       struct diff_seg *dseg = (struct diff_seg *)BU_PTBL_GET(results->right, 
i);
-       BU_PUT(dseg, struct diff_seg);
+    if (results->right) {
+       for (i = 0; i < BU_PTBL_LEN(results->right); i++) {
+           struct diff_seg *dseg = (struct diff_seg 
*)BU_PTBL_GET(results->right, i);
+           BU_PUT(dseg, struct diff_seg);
+       }
+       bu_ptbl_free(results->right);
+       BU_PUT(results->right, struct diff_seg);
     }
-    bu_ptbl_free(results->right);
-    BU_PUT(results->right, struct diff_seg);
-
     BU_PUT(results, struct analyze_raydiff_results);
 }
 

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


------------------------------------------------------------------------------
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to