aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2015-02-11 16:16:14 +0000
committerChristian Grothoff <christian@grothoff.org>2015-02-11 16:16:14 +0000
commit567ca9a20a7afe3573cb1c11ad89c116a0650fe7 (patch)
tree823f14b487b154550e091a3dd092038610f26e37
parent0af846dcf10eacfea080977cbb3928845011b4a7 (diff)
downloadgnunet-567ca9a20a7afe3573cb1c11ad89c116a0650fe7.tar.gz
gnunet-567ca9a20a7afe3573cb1c11ad89c116a0650fe7.zip
-check for in_destroy when looking up session IDs
-rw-r--r--src/ats/ats_api_scheduling.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ats/ats_api_scheduling.c b/src/ats/ats_api_scheduling.c
index a0a196d1a..c1a80eb0a 100644
--- a/src/ats/ats_api_scheduling.c
+++ b/src/ats/ats_api_scheduling.c
@@ -307,6 +307,7 @@ find_session_id (struct GNUNET_ATS_SchedulingHandle *sh,
307 } 307 }
308 for (i = 1; i < sh->session_array_size; i++) 308 for (i = 1; i < sh->session_array_size; i++)
309 if ( (NULL != sh->session_array[i]) && 309 if ( (NULL != sh->session_array[i]) &&
310 (GNUNET_NO == sh->session_array[i]->in_destroy) &&
310 ( (session == sh->session_array[i]->session) || 311 ( (session == sh->session_array[i]->session) ||
311 (NULL == sh->session_array[i]->session) ) && 312 (NULL == sh->session_array[i]->session) ) &&
312 (0 == GNUNET_HELLO_address_cmp (address, 313 (0 == GNUNET_HELLO_address_cmp (address,
@@ -397,7 +398,9 @@ process_ats_address_suggestion_message (void *cls,
397 force_reconnect (sh); 398 force_reconnect (sh);
398 return; 399 return;
399 } 400 }
400 ar = find_session (sh, session_id, &m->peer); 401 ar = find_session (sh,
402 session_id,
403 &m->peer);
401 if (NULL == ar) 404 if (NULL == ar)
402 { 405 {
403 GNUNET_break (0); 406 GNUNET_break (0);
@@ -730,7 +733,7 @@ int
730GNUNET_ATS_address_del_session (struct GNUNET_ATS_AddressRecord *ar, 733GNUNET_ATS_address_del_session (struct GNUNET_ATS_AddressRecord *ar,
731 struct Session *session) 734 struct Session *session)
732{ 735{
733 GNUNET_break (session == ar->session); 736 GNUNET_assert (session == ar->session);
734 ar->session = NULL; 737 ar->session = NULL;
735 if (GNUNET_HELLO_address_check_option (ar->address, 738 if (GNUNET_HELLO_address_check_option (ar->address,
736 GNUNET_HELLO_ADDRESS_INFO_INBOUND)) 739 GNUNET_HELLO_ADDRESS_INFO_INBOUND))