commit 7b2d70e10a960f053bfe89bd9568ae3d603a0df2
parent e9837976d0c89c2fa7a50b61854d1cf6da5e8705
Author: Christian Grothoff <christian@grothoff.org>
Date: Mon, 12 Oct 2026 22:56:26 +0200
guard maps with NULL check
Diffstat:
1 file changed, 29 insertions(+), 14 deletions(-)
diff --git a/src/exchange/taler-exchange-httpd_secmod-helpers.c b/src/exchange/taler-exchange-httpd_secmod-helpers.c
@@ -510,20 +510,35 @@ free_esign_cb (void *cls,
void
TEH_SECMOD_destroy_key_helpers ()
{
- GNUNET_CONTAINER_multihashmap_iterate (denom_keys,
- &free_denom_cb,
- NULL);
- GNUNET_CONTAINER_multihashmap_destroy (rsa_keys);
- rsa_keys = NULL;
- GNUNET_CONTAINER_multihashmap_destroy (cs_keys);
- cs_keys = NULL;
- GNUNET_CONTAINER_multihashmap_destroy (denom_keys);
- denom_keys = NULL;
- GNUNET_CONTAINER_multipeermap_iterate (esign_keys,
- &free_esign_cb,
- NULL);
- GNUNET_CONTAINER_multipeermap_destroy (esign_keys);
- esign_keys = NULL;
+ /* Note: the maps may be NULL if #TEH_SECMOD_setup_key_helpers()
+ failed before creating them. */
+ if (NULL != denom_keys)
+ GNUNET_CONTAINER_multihashmap_iterate (denom_keys,
+ &free_denom_cb,
+ NULL);
+ if (NULL != rsa_keys)
+ {
+ GNUNET_CONTAINER_multihashmap_destroy (rsa_keys);
+ rsa_keys = NULL;
+ }
+ if (NULL != cs_keys)
+ {
+ GNUNET_CONTAINER_multihashmap_destroy (cs_keys);
+ cs_keys = NULL;
+ }
+ if (NULL != denom_keys)
+ {
+ GNUNET_CONTAINER_multihashmap_destroy (denom_keys);
+ denom_keys = NULL;
+ }
+ if (NULL != esign_keys)
+ {
+ GNUNET_CONTAINER_multipeermap_iterate (esign_keys,
+ &free_esign_cb,
+ NULL);
+ GNUNET_CONTAINER_multipeermap_destroy (esign_keys);
+ esign_keys = NULL;
+ }
if (NULL != rsadh)
{
TALER_CRYPTO_helper_rsa_disconnect (rsadh);