From fe79f6af9cef801011296a25809b695c26a35017 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 19 Feb 2023 13:11:57 +0100 Subject: [PATCH] -fix memory leak --- debian/taler-exchange.taler-exchange-aggregator.service | 3 ++- debian/taler-exchange.taler-exchange-aggregator@.service | 3 ++- debian/taler-exchange.taler-exchange-closer.service | 3 ++- debian/taler-exchange.taler-exchange-expire.service | 3 ++- debian/taler-exchange.taler-exchange-transfer.service | 3 ++- debian/taler-exchange.taler-exchange-wirewatch.service | 3 ++- debian/taler-exchange.taler-exchange-wirewatch@.service | 3 ++- src/exchange/taler-exchange-httpd_keys.c | 2 ++ 8 files changed, 16 insertions(+), 7 deletions(-) diff --git a/debian/taler-exchange.taler-exchange-aggregator.service b/debian/taler-exchange.taler-exchange-aggregator.service index 28bd4a3ab..246cad5c1 100644 --- a/debian/taler-exchange.taler-exchange-aggregator.service +++ b/debian/taler-exchange.taler-exchange-aggregator.service @@ -7,7 +7,7 @@ After=postgres.service User=taler-exchange-aggregator Type=simple Restart=always -RestartSec=100ms +RestartSec=1s ExecStart=/usr/bin/taler-exchange-aggregator -c /etc/taler/taler.conf StandardOutput=journal StandardError=journal @@ -15,3 +15,4 @@ PrivateTmp=yes PrivateDevices=yes ProtectSystem=full Slice=taler-exchange.slice +RuntimeMaxSec=3600s diff --git a/debian/taler-exchange.taler-exchange-aggregator@.service b/debian/taler-exchange.taler-exchange-aggregator@.service index aa4f32e38..bfc44a9a9 100644 --- a/debian/taler-exchange.taler-exchange-aggregator@.service +++ b/debian/taler-exchange.taler-exchange-aggregator@.service @@ -6,7 +6,7 @@ PartOf=taler-exchange.target User=taler-exchange-aggregator Type=simple Restart=always -RestartSec=100ms +RestartSec=1s ExecStart=/usr/bin/taler-exchange-aggregator -c /etc/taler/taler.conf StandardOutput=journal StandardError=journal @@ -14,3 +14,4 @@ PrivateTmp=yes PrivateDevices=yes ProtectSystem=full Slice=taler-exchange.slice +RuntimeMaxSec=3600s diff --git a/debian/taler-exchange.taler-exchange-closer.service b/debian/taler-exchange.taler-exchange-closer.service index df21c724d..97a385c13 100644 --- a/debian/taler-exchange.taler-exchange-closer.service +++ b/debian/taler-exchange.taler-exchange-closer.service @@ -7,7 +7,7 @@ After=network.target postgres.service User=taler-exchange-closer Type=simple Restart=always -RestartSec=100ms +RestartSec=1s ExecStart=/usr/bin/taler-exchange-closer -c /etc/taler/taler.conf StandardOutput=journal StandardError=journal @@ -15,3 +15,4 @@ PrivateTmp=yes PrivateDevices=yes ProtectSystem=full Slice=taler-exchange.slice +RuntimeMaxSec=3600s diff --git a/debian/taler-exchange.taler-exchange-expire.service b/debian/taler-exchange.taler-exchange-expire.service index 0ef1b1e99..250f210fe 100644 --- a/debian/taler-exchange.taler-exchange-expire.service +++ b/debian/taler-exchange.taler-exchange-expire.service @@ -7,7 +7,7 @@ After=postgres.service User=taler-exchange-expire Type=simple Restart=always -RestartSec=100ms +RestartSec=1s ExecStart=/usr/bin/taler-exchange-expire -c /etc/taler/taler.conf StandardOutput=journal StandardError=journal @@ -15,3 +15,4 @@ PrivateTmp=yes PrivateDevices=yes ProtectSystem=full Slice=taler-exchange.slice +RuntimeMaxSec=3600s diff --git a/debian/taler-exchange.taler-exchange-transfer.service b/debian/taler-exchange.taler-exchange-transfer.service index 3464bdace..e26af20d0 100644 --- a/debian/taler-exchange.taler-exchange-transfer.service +++ b/debian/taler-exchange.taler-exchange-transfer.service @@ -7,7 +7,7 @@ PartOf=taler-exchange.target User=taler-exchange-wire Type=simple Restart=always -RestartSec=100ms +RestartSec=1s ExecStart=/usr/bin/taler-exchange-transfer -c /etc/taler/taler.conf StandardOutput=journal StandardError=journal @@ -15,3 +15,4 @@ PrivateTmp=yes PrivateDevices=yes ProtectSystem=full Slice=taler-exchange.slice +RuntimeMaxSec=3600s diff --git a/debian/taler-exchange.taler-exchange-wirewatch.service b/debian/taler-exchange.taler-exchange-wirewatch.service index c68dcfdc1..7b74737b7 100644 --- a/debian/taler-exchange.taler-exchange-wirewatch.service +++ b/debian/taler-exchange.taler-exchange-wirewatch.service @@ -7,7 +7,8 @@ PartOf=taler-exchange.target User=taler-exchange-wire Type=simple Restart=always -RestartSec=100ms +RestartSec=1s +RuntimeMaxSec=3600s ExecStart=/usr/bin/taler-exchange-wirewatch -c /etc/taler/taler.conf StandardOutput=journal StandardError=journal diff --git a/debian/taler-exchange.taler-exchange-wirewatch@.service b/debian/taler-exchange.taler-exchange-wirewatch@.service index e49472143..85bb9268b 100644 --- a/debian/taler-exchange.taler-exchange-wirewatch@.service +++ b/debian/taler-exchange.taler-exchange-wirewatch@.service @@ -7,7 +7,7 @@ PartOf=taler-exchange.target User=taler-exchange-wire Type=simple Restart=always -RestartSec=100ms +RestartSec=1s ExecStart=/usr/bin/taler-exchange-wirewatch -c /etc/taler/taler.conf StandardOutput=journal StandardError=journal @@ -15,3 +15,4 @@ PrivateTmp=yes PrivateDevices=yes ProtectSystem=full Slice=taler-exchange.slice +RuntimeMaxSec=3600s diff --git a/src/exchange/taler-exchange-httpd_keys.c b/src/exchange/taler-exchange-httpd_keys.c index 251c001b8..69456cb37 100644 --- a/src/exchange/taler-exchange-httpd_keys.c +++ b/src/exchange/taler-exchange-httpd_keys.c @@ -2401,6 +2401,7 @@ finish_keys_response (struct TEH_KeyStateHandle *ksh) "Failed to generate key response data for %s\n", GNUNET_TIME_timestamp2s (last_cpd)); json_decref (denoms); + json_decref (grouped_denominations); json_decref (sctx.signkeys); json_decref (recoup); return GNUNET_SYSERR; @@ -2413,6 +2414,7 @@ finish_keys_response (struct TEH_KeyStateHandle *ksh) "No denomination keys available. Refusing to generate /keys response.\n"); GNUNET_CRYPTO_hash_context_abort (hash_context); } + json_decref (grouped_denominations); json_decref (sctx.signkeys); json_decref (recoup); json_decref (denoms);