-fixing misc minor ats test/driver bugs
authorChristian Grothoff <christian@grothoff.org>
Sun, 7 Dec 2014 00:17:25 +0000 (00:17 +0000)
committerChristian Grothoff <christian@grothoff.org>
Sun, 7 Dec 2014 00:17:25 +0000 (00:17 +0000)
src/ats/gnunet-ats-solver-eval.c
src/ats/perf_ats_solver.c

index 17bdf6b15668595ce3b6dbcce36a57c2c87cb90f..86930d3924a01623f2d47ee86d71bed04a6cf5e9 100644 (file)
@@ -381,6 +381,7 @@ GNUNET_ATS_solver_logging_write_to_disk (struct LoggingHandle *l, int add_time_s
           {
             fprintf (stderr, "Cannot open `%s' to write log data!\n", filename);
             GNUNET_free (filename);
+            GNUNET_free (cur);
             goto cleanup;
           }
           GNUNET_free (filename);
@@ -633,15 +634,19 @@ set_prop_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   }
   if (NULL == (p = find_peer_by_id (pg->peer)))
   {
+    GNUNET_break (0);
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
         "Setting property generation for unknown peer %u\n",
         pg->peer);
+    return;
   }
   if (NULL == (a = find_address_by_id (p, pg->address_id)))
   {
+    GNUNET_break (0);
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
         "Setting property generation for unknown peer %u\n",
         pg->peer);
+    return;
   }
 
   prop_value = get_property (pg);
@@ -2268,10 +2273,14 @@ enforce_del_address (struct GNUNET_ATS_TEST_Operation *op)
     GNUNET_ATS_solver_generate_property_stop (pg);
   }
 
-  GNUNET_CONTAINER_multipeermap_remove (sh->addresses, &p->peer_id, a->ats_addr);
-
-  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Removing address %u for peer %u\n",
-      op->address_id, op->peer_id);
+  GNUNET_assert (GNUNET_YES ==
+                 GNUNET_CONTAINER_multipeermap_remove (sh->addresses,
+                                                       &p->peer_id,
+                                                       a->ats_addr));
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+              "Removing address %u for peer %u\n",
+              op->address_id,
+              op->peer_id);
 
   sh->env.sf.s_del (sh->solver, a->ats_addr, GNUNET_NO);
 
@@ -2961,7 +2970,7 @@ solver_bandwidth_changed_cb (void *cls, struct ATS_Address *address)
                 GNUNET_i2s (&address->peer));
   }
   p = find_peer_by_pid(&address->peer);
-  if(NULL == p)
+  if (NULL == p)
     return;
   p->assigned_bw_out = address->assigned_bw_out;
   p->assigned_bw_in = address->assigned_bw_in;
@@ -3020,13 +3029,15 @@ get_property_cb (void *cls, const struct ATS_Address *address)
   if (GNUNET_YES == opt_disable_normalization)
   {
     p = find_peer_by_pid (&address->peer);
+    if (NULL == p)
+      return NULL;
     a = find_address_by_ats_address (p, address);
     return a->prop_abs;
   }
-  else
-    return GAS_normalization_get_properties ((struct ATS_Address *) address);
+  return GAS_normalization_get_properties ((struct ATS_Address *) address);
 }
 
+
 static void
 set_updated_property ( struct ATS_Address *address, uint32_t type, double prop_rel)
 {
index 6fbf547ac2f6a0218a407f72aaf8a01dc2f91a11..d25d5da58be5f462682a7f239dd6ebc891bf304d 100644 (file)
@@ -786,7 +786,7 @@ evaluate (int iteration)
 
   for (cp = ph.N_peers_start; cp <= ph.N_peers_end; cp ++)
   {
-    cur  = ph.iterations_results[ph.current_iteration-1].results_array[cp];
+    cur = ph.iterations_results[ph.current_iteration-1].results_array[cp];
     if (0 == cp)
       continue;
     if (NULL == cur)
@@ -794,6 +794,7 @@ evaluate (int iteration)
       GNUNET_break (0);
       fprintf (stderr,
                "Missing result for %u peers\n", cp);
+      continue;
     }
 
 
@@ -845,9 +846,9 @@ evaluate (int iteration)
           (unsigned long long )cur->d_mlp_full.rel_value_us);
     }
   }
-
 }
 
+
 /**
  * Evaluate average results for all iterations
  */