diff options
author | Christian Grothoff <christian@grothoff.org> | 2017-07-03 17:38:20 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2017-07-03 17:38:20 +0200 |
commit | dcf86b6d0f1caf789342c9903a16b2c44a1621cc (patch) | |
tree | 1eda16bd103e22d51ade40fa24c6efb46becfd9d /src/set/set_api.c | |
parent | 6cc0e50715eb97baac69c05141f3f3bb3df4ec75 (diff) | |
download | gnunet-dcf86b6d0f1caf789342c9903a16b2c44a1621cc.tar.gz gnunet-dcf86b6d0f1caf789342c9903a16b2c44a1621cc.zip |
do not invoke callback after set operation destruction, should fix #5082
Diffstat (limited to 'src/set/set_api.c')
-rw-r--r-- | src/set/set_api.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/set/set_api.c b/src/set/set_api.c index 27e2ccf04..1d0d00b44 100644 --- a/src/set/set_api.c +++ b/src/set/set_api.c | |||
@@ -497,7 +497,8 @@ set_operation_destroy (struct GNUNET_SET_OperationHandle *oh) | |||
497 | oh); | 497 | oh); |
498 | h_assoc = GNUNET_MQ_assoc_remove (set->mq, | 498 | h_assoc = GNUNET_MQ_assoc_remove (set->mq, |
499 | oh->request_id); | 499 | oh->request_id); |
500 | GNUNET_assert ((NULL == h_assoc) || (h_assoc == oh)); | 500 | GNUNET_assert ( (NULL == h_assoc) || |
501 | (h_assoc == oh) ); | ||
501 | } | 502 | } |
502 | GNUNET_free (oh); | 503 | GNUNET_free (oh); |
503 | } | 504 | } |
@@ -556,7 +557,8 @@ handle_client_set_error (void *cls, | |||
556 | error); | 557 | error); |
557 | while (NULL != set->ops_head) | 558 | while (NULL != set->ops_head) |
558 | { | 559 | { |
559 | if (NULL != set->ops_head->result_cb) | 560 | if ( (NULL != set->ops_head->result_cb) && |
561 | (GNUNET_NO == set->destroy_requested) ) | ||
560 | set->ops_head->result_cb (set->ops_head->result_cls, | 562 | set->ops_head->result_cb (set->ops_head->result_cls, |
561 | NULL, | 563 | NULL, |
562 | 0, | 564 | 0, |