diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-08-27 15:53:14 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-08-27 15:53:14 +0200 |
commit | 8dcf1134d4b9ce76baf9d7c3bd33a555a32f558e (patch) | |
tree | 37608bb0fcb901239b389da6b6628ab76f9ecf5b | |
parent | b3ddcd0dbb6cf0db09f7bd156d73b3cb8e284e2d (diff) | |
download | anastasis-8dcf1134d4b9ce76baf9d7c3bd33a555a32f558e.tar.gz anastasis-8dcf1134d4b9ce76baf9d7c3bd33a555a32f558e.zip |
-more leaks
-rw-r--r-- | src/reducer/anastasis_api_backup_redux.c | 13 | ||||
-rw-r--r-- | src/reducer/anastasis_api_redux.c | 6 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/reducer/anastasis_api_backup_redux.c b/src/reducer/anastasis_api_backup_redux.c index e025810..c8c0404 100644 --- a/src/reducer/anastasis_api_backup_redux.c +++ b/src/reducer/anastasis_api_backup_redux.c | |||
@@ -667,10 +667,13 @@ struct PolicyBuilder | |||
667 | static void | 667 | static void |
668 | free_costs (struct Costs *costs) | 668 | free_costs (struct Costs *costs) |
669 | { | 669 | { |
670 | if (NULL == costs) | 670 | while (NULL != costs) |
671 | return; | 671 | { |
672 | free_costs (costs->next); | 672 | struct Costs *next = costs->next; |
673 | GNUNET_free (costs); | 673 | |
674 | GNUNET_free (costs); | ||
675 | costs = next; | ||
676 | } | ||
674 | } | 677 | } |
675 | 678 | ||
676 | 679 | ||
@@ -1548,6 +1551,8 @@ clean_pb (struct PolicyBuilder *pb) | |||
1548 | GNUNET_CONTAINER_DLL_remove (p->pm_head, | 1551 | GNUNET_CONTAINER_DLL_remove (p->pm_head, |
1549 | p->pm_tail, | 1552 | p->pm_tail, |
1550 | pm); | 1553 | pm); |
1554 | for (unsigned int i = 0; i<pb->req_methods; i++) | ||
1555 | free_costs (pm->providers[i].usage_fee); | ||
1551 | GNUNET_free (pm->providers); | 1556 | GNUNET_free (pm->providers); |
1552 | GNUNET_free (pm); | 1557 | GNUNET_free (pm); |
1553 | } | 1558 | } |
diff --git a/src/reducer/anastasis_api_redux.c b/src/reducer/anastasis_api_redux.c index 6262033..f55eece 100644 --- a/src/reducer/anastasis_api_redux.c +++ b/src/reducer/anastasis_api_redux.c | |||
@@ -349,7 +349,6 @@ free_config_request (struct ConfigRequest *cr) | |||
349 | GNUNET_free (cr->business_name); | 349 | GNUNET_free (cr->business_name); |
350 | for (unsigned int i = 0; i<cr->methods_length; i++) | 350 | for (unsigned int i = 0; i<cr->methods_length; i++) |
351 | GNUNET_free (cr->methods[i].type); | 351 | GNUNET_free (cr->methods[i].type); |
352 | GNUNET_free (cr->business_name); | ||
353 | GNUNET_free (cr->methods); | 352 | GNUNET_free (cr->methods); |
354 | GNUNET_free (cr); | 353 | GNUNET_free (cr); |
355 | } | 354 | } |
@@ -571,8 +570,13 @@ config_cb (void *cls, | |||
571 | } | 570 | } |
572 | else | 571 | else |
573 | { | 572 | { |
573 | GNUNET_free (cr->currency); | ||
574 | cr->currency = GNUNET_strdup (acfg->currency); | 574 | cr->currency = GNUNET_strdup (acfg->currency); |
575 | GNUNET_free (cr->business_name); | ||
575 | cr->business_name = GNUNET_strdup (acfg->business_name); | 576 | cr->business_name = GNUNET_strdup (acfg->business_name); |
577 | for (unsigned int i = 0; i<cr->methods_length; i++) | ||
578 | GNUNET_free (cr->methods[i].type); | ||
579 | GNUNET_free (cr->methods); | ||
576 | cr->methods = GNUNET_new_array (acfg->methods_length, | 580 | cr->methods = GNUNET_new_array (acfg->methods_length, |
577 | struct AuthorizationMethodConfig); | 581 | struct AuthorizationMethodConfig); |
578 | for (unsigned int i = 0; i<acfg->methods_length; i++) | 582 | for (unsigned int i = 0; i<acfg->methods_length; i++) |