summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/exchange-tools/taler-exchange-offline.c9
-rw-r--r--src/exchange/taler-exchange-httpd_keys.c4
2 files changed, 12 insertions, 1 deletions
diff --git a/src/exchange-tools/taler-exchange-offline.c b/src/exchange-tools/taler-exchange-offline.c
index 3b6280c7d..3d85d376d 100644
--- a/src/exchange-tools/taler-exchange-offline.c
+++ b/src/exchange-tools/taler-exchange-offline.c
@@ -2530,7 +2530,7 @@ do_download (char *const *args)
* #GNUNET_NO if we had nothing in store but now do
* #GNUNET_SYSERR if keys changed from what we remember or other error
*/
-static int
+static enum GNUNET_GenericReturnValue
tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
{
char *fn;
@@ -2603,6 +2603,7 @@ tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
"SECM_ESIGN_PUBKEY",
"key malformed");
GNUNET_free (key);
+ GNUNET_free (fn);
return GNUNET_SYSERR;
}
GNUNET_free (key);
@@ -2612,6 +2613,7 @@ tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"ESIGN security module key does not match SECM_ESIGN_PUBKEY in configuration\n");
+ GNUNET_free (fn);
return GNUNET_SYSERR;
}
}
@@ -2634,6 +2636,7 @@ tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
"SECM_DENOM_PUBKEY",
"key malformed");
GNUNET_free (key);
+ GNUNET_free (fn);
return GNUNET_SYSERR;
}
GNUNET_free (key);
@@ -2643,6 +2646,7 @@ tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"DENOM security module key does not match SECM_DENOM_PUBKEY in configuration\n");
+ GNUNET_free (fn);
return GNUNET_SYSERR;
}
}
@@ -2665,6 +2669,7 @@ tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
"SECM_DENOM_CS_PUBKEY",
"key malformed");
GNUNET_free (key);
+ GNUNET_free (fn);
return GNUNET_SYSERR;
}
GNUNET_free (key);
@@ -2674,6 +2679,7 @@ tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"DENOM security module key does not match SECM_DENOM_CS_PUBKEY in configuration\n");
+ GNUNET_free (fn);
return GNUNET_SYSERR;
}
}
@@ -2700,6 +2706,7 @@ tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
GNUNET_free (fn);
return GNUNET_SYSERR;
}
+ GNUNET_free (fn);
return GNUNET_NO;
}
diff --git a/src/exchange/taler-exchange-httpd_keys.c b/src/exchange/taler-exchange-httpd_keys.c
index 718facf5e..3fa1007ce 100644
--- a/src/exchange/taler-exchange-httpd_keys.c
+++ b/src/exchange/taler-exchange-httpd_keys.c
@@ -1916,6 +1916,10 @@ create_krd (struct TEH_KeyStateHandle *ksh,
r = json_object_update (keys, sig);
GNUNET_assert (0 == r);
}
+ else
+ {
+ json_decref (extensions);
+ }
// Special case for age restrictions: if enabled, provide the lits of
// age-restricted denominations.