diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-04-04 17:40:51 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-04-04 17:40:51 +0200 |
commit | afb1ab2a116bb0b33b5d23d043222965892e8edf (patch) | |
tree | 514a8ff9108872b1d01dc5e28dc5727ca4c6b63d /src/exchange/taler-exchange-aggregator.c | |
parent | 0ff76b5abbf09aa273b7998f4d16bb0c0e4d90bb (diff) | |
download | exchange-afb1ab2a116bb0b33b5d23d043222965892e8edf.tar.gz exchange-afb1ab2a116bb0b33b5d23d043222965892e8edf.tar.bz2 exchange-afb1ab2a116bb0b33b5d23d043222965892e8edf.zip |
-fix mem leaks
Diffstat (limited to 'src/exchange/taler-exchange-aggregator.c')
-rw-r--r-- | src/exchange/taler-exchange-aggregator.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/exchange/taler-exchange-aggregator.c b/src/exchange/taler-exchange-aggregator.c index 2d5fd71d8..a6b7de211 100644 --- a/src/exchange/taler-exchange-aggregator.c +++ b/src/exchange/taler-exchange-aggregator.c @@ -472,6 +472,8 @@ run_aggregation (void *cls, au); if (GNUNET_OK != ret) { + if (NULL != au->wire) + json_decref (au->wire); GNUNET_free (au); db_plugin->rollback (db_plugin->cls, session); @@ -510,6 +512,8 @@ run_aggregation (void *cls, GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to execute deposit iteration!\n"); GNUNET_free_non_null (au->additional_rows); + if (NULL != au->wire) + json_decref (au->wire); GNUNET_free (au); db_plugin->rollback (db_plugin->cls, session); @@ -538,6 +542,8 @@ run_aggregation (void *cls, "Failed to start database transaction!\n"); *global_ret = GNUNET_SYSERR; GNUNET_free_non_null (au->additional_rows); + if (NULL != au->wire) + json_decref (au->wire); GNUNET_free (au); return; } @@ -564,6 +570,8 @@ run_aggregation (void *cls, "Failed to commit database transaction!\n"); } GNUNET_free_non_null (au->additional_rows); + if (NULL != au->wire) + json_decref (au->wire); GNUNET_free (au); /* start again */ task = GNUNET_SCHEDULER_add_now (&run_aggregation, @@ -586,6 +594,8 @@ run_aggregation (void *cls, db_plugin->rollback (db_plugin->cls, session); GNUNET_free_non_null (au->additional_rows); + if (NULL != au->wire) + json_decref (au->wire); GNUNET_free (au); /* start again */ task = GNUNET_SCHEDULER_add_now (&run_aggregation, @@ -625,6 +635,8 @@ prepare_cb (void *cls, struct TALER_EXCHANGEDB_Session *session = au->session; GNUNET_free_non_null (au->additional_rows); + if (NULL != au->wire) + json_decref (au->wire); GNUNET_free (au); if (NULL == buf) { |