diff options
Diffstat (limited to 'src/identity-provider')
-rw-r--r-- | src/identity-provider/identity_provider_api.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/identity-provider/identity_provider_api.c b/src/identity-provider/identity_provider_api.c index 38c11841c..e993a1ac7 100644 --- a/src/identity-provider/identity_provider_api.c +++ b/src/identity-provider/identity_provider_api.c | |||
@@ -376,6 +376,15 @@ free_it (struct GNUNET_IDENTITY_PROVIDER_AttributeIterator *it) | |||
376 | GNUNET_free (it); | 376 | GNUNET_free (it); |
377 | } | 377 | } |
378 | 378 | ||
379 | static void | ||
380 | free_op (struct GNUNET_IDENTITY_PROVIDER_Operation* op) | ||
381 | { | ||
382 | if (NULL == op) | ||
383 | return; | ||
384 | if (NULL != op->env) | ||
385 | GNUNET_MQ_discard (op->env); | ||
386 | GNUNET_free(op); | ||
387 | } | ||
379 | 388 | ||
380 | 389 | ||
381 | /** | 390 | /** |
@@ -434,7 +443,7 @@ handle_attribute_store_response (void *cls, | |||
434 | GNUNET_CONTAINER_DLL_remove (h->op_head, | 443 | GNUNET_CONTAINER_DLL_remove (h->op_head, |
435 | h->op_tail, | 444 | h->op_tail, |
436 | op); | 445 | op); |
437 | GNUNET_free (op); | 446 | free_op (op); |
438 | 447 | ||
439 | } | 448 | } |
440 | 449 | ||
@@ -522,7 +531,7 @@ handle_consume_ticket_result (void *cls, | |||
522 | GNUNET_CONTAINER_DLL_remove (h->op_head, | 531 | GNUNET_CONTAINER_DLL_remove (h->op_head, |
523 | h->op_tail, | 532 | h->op_tail, |
524 | op); | 533 | op); |
525 | GNUNET_free (op); | 534 | free_op (op); |
526 | } | 535 | } |
527 | return; | 536 | return; |
528 | } | 537 | } |
@@ -613,7 +622,7 @@ handle_attribute_result (void *cls, | |||
613 | GNUNET_CONTAINER_DLL_remove (h->op_head, | 622 | GNUNET_CONTAINER_DLL_remove (h->op_head, |
614 | h->op_tail, | 623 | h->op_tail, |
615 | op); | 624 | op); |
616 | GNUNET_free (op); | 625 | free_op (op); |
617 | 626 | ||
618 | } | 627 | } |
619 | return; | 628 | return; |
@@ -709,7 +718,7 @@ handle_ticket_result (void *cls, | |||
709 | if (NULL != op->tr_cb) | 718 | if (NULL != op->tr_cb) |
710 | op->tr_cb (op->cls, ticket); | 719 | op->tr_cb (op->cls, ticket); |
711 | } | 720 | } |
712 | GNUNET_free (op); | 721 | free_op (op); |
713 | return; | 722 | return; |
714 | } else if (NULL != it) { | 723 | } else if (NULL != it) { |
715 | if (msg_len == sizeof (struct TicketResultMessage)) | 724 | if (msg_len == sizeof (struct TicketResultMessage)) |
@@ -730,6 +739,7 @@ handle_ticket_result (void *cls, | |||
730 | GNUNET_break (0); | 739 | GNUNET_break (0); |
731 | } | 740 | } |
732 | 741 | ||
742 | |||
733 | /** | 743 | /** |
734 | * Handle an incoming message of type | 744 | * Handle an incoming message of type |
735 | * #GNUNET_MESSAGE_TYPE_IDENTITY_PROVIDER_REVOKE_TICKET_RESULT | 745 | * #GNUNET_MESSAGE_TYPE_IDENTITY_PROVIDER_REVOKE_TICKET_RESULT |
@@ -766,7 +776,7 @@ handle_revoke_ticket_result (void *cls, | |||
766 | GNUNET_CONTAINER_DLL_remove (h->op_head, | 776 | GNUNET_CONTAINER_DLL_remove (h->op_head, |
767 | h->op_tail, | 777 | h->op_tail, |
768 | op); | 778 | op); |
769 | GNUNET_free (op); | 779 | free_op (op); |
770 | return; | 780 | return; |
771 | } | 781 | } |
772 | GNUNET_assert (0); | 782 | GNUNET_assert (0); |
@@ -864,7 +874,7 @@ GNUNET_IDENTITY_PROVIDER_cancel (struct GNUNET_IDENTITY_PROVIDER_Operation *op) | |||
864 | h->op_tail, | 874 | h->op_tail, |
865 | op); | 875 | op); |
866 | GNUNET_MQ_discard (op->env); | 876 | GNUNET_MQ_discard (op->env); |
867 | GNUNET_free (op); | 877 | free_op (op); |
868 | } | 878 | } |
869 | 879 | ||
870 | 880 | ||