diff --git a/src/util/taler-helper-crypto-rsa.c b/src/util/taler-helper-crypto-rsa.c index b8f959ee3..e72a7824b 100644 --- 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)); }