From 2b306e4a9ac8b0f4968a9cc2336fbc346de845e4 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 7 Dec 2014 00:17:25 +0000 Subject: [PATCH] -fixing misc minor ats test/driver bugs --- src/ats/gnunet-ats-solver-eval.c | 25 ++++++++++++++++++------- src/ats/perf_ats_solver.c | 5 +++-- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/ats/gnunet-ats-solver-eval.c b/src/ats/gnunet-ats-solver-eval.c index 17bdf6b15..86930d392 100644 --- a/src/ats/gnunet-ats-solver-eval.c +++ b/src/ats/gnunet-ats-solver-eval.c @@ -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) { diff --git a/src/ats/perf_ats_solver.c b/src/ats/perf_ats_solver.c index 6fbf547ac..d25d5da58 100644 --- a/src/ats/perf_ats_solver.c +++ b/src/ats/perf_ats_solver.c @@ -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 */ -- 2.25.1