commit 6082ac8151fd845e65b2222de03b8b10de555f74 parent cbba3d5f292517c72b6c20299d9c023ba7a4c344 Author: Christian Grothoff <christian@grothoff.org> Date: Sun, 22 Nov 2020 22:57:58 +0100 add missing delayed purge logic Diffstat:
| M | src/util/taler-helper-crypto-rsa.c | | | 12 | +++++++++--- |
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/util/taler-helper-crypto-rsa.c b/src/util/taler-helper-crypto-rsa.c @@ -78,9 +78,7 @@ struct DenominationKey char *filename; /** - * The private key of the denomination. Will be NULL if the private - * key is not available (this is the case after the key has expired - * for signing coins, but is still valid for depositing coins). + * The private key of the denomination. */ struct TALER_DenominationPrivateKey denom_priv; @@ -590,6 +588,14 @@ handle_done (void *cls) &sr->header); GNUNET_free (sr); } + { + struct DenominationKey *dk = wi->dk; + + dk->rc--; + if ( (0 == dk->rc) && + (dk->purge) ) + free_dk (dk); + } GNUNET_free (wi); GNUNET_assert (0 == pthread_mutex_lock (&done_lock)); }