diff options
Diffstat (limited to 'src/ats')
-rw-r--r-- | src/ats/gnunet-service-ats_addresses.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/ats/gnunet-service-ats_addresses.c b/src/ats/gnunet-service-ats_addresses.c index f81b4c282..ca7251fec 100644 --- a/src/ats/gnunet-service-ats_addresses.c +++ b/src/ats/gnunet-service-ats_addresses.c | |||
@@ -593,12 +593,26 @@ GAS_addresses_in_use (const struct GNUNET_PeerIdentity *peer, | |||
593 | if (GNUNET_NO == running) | 593 | if (GNUNET_NO == running) |
594 | return; | 594 | return; |
595 | 595 | ||
596 | aa = create_address(peer, plugin_name, plugin_addr, plugin_addr_len, session_id); | 596 | aa = create_address (peer, plugin_name, plugin_addr, plugin_addr_len, session_id); |
597 | old = find_exact_address (peer, aa); | 597 | old = find_exact_address (peer, aa); |
598 | free_address (aa); | 598 | free_address (aa); |
599 | 599 | ||
600 | GNUNET_assert (old != NULL); | 600 | if (NULL == old) |
601 | GNUNET_assert (old->used != in_use); | 601 | { |
602 | GNUNET_break_op (0); | ||
603 | return; | ||
604 | } | ||
605 | if (old->used == in_use) | ||
606 | { | ||
607 | GNUNET_break_op (0); | ||
608 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
609 | "Address in use called multiple times for peer `%s': %s -> %s \n", | ||
610 | GNUNET_i2s (peer), | ||
611 | (GNUNET_NO == old->used) ? "NO" : "YES", | ||
612 | (GNUNET_NO == in_use) ? "NO" : "YES"); | ||
613 | return; | ||
614 | } | ||
615 | |||
602 | old->used = in_use; | 616 | old->used = in_use; |
603 | 617 | ||
604 | #if HAVE_LIBGLPK | 618 | #if HAVE_LIBGLPK |