-fix leak

This commit is contained in:
Christian Grothoff 2022-02-09 09:18:35 +01:00
parent bd930549fb
commit dfc5039d9a
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
2 changed files with 12 additions and 1 deletions

View File

@ -2530,7 +2530,7 @@ do_download (char *const *args)
* #GNUNET_NO if we had nothing in store but now do * #GNUNET_NO if we had nothing in store but now do
* #GNUNET_SYSERR if keys changed from what we remember or other error * #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) tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
{ {
char *fn; char *fn;
@ -2603,6 +2603,7 @@ tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
"SECM_ESIGN_PUBKEY", "SECM_ESIGN_PUBKEY",
"key malformed"); "key malformed");
GNUNET_free (key); GNUNET_free (key);
GNUNET_free (fn);
return GNUNET_SYSERR; return GNUNET_SYSERR;
} }
GNUNET_free (key); GNUNET_free (key);
@ -2612,6 +2613,7 @@ tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
{ {
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"ESIGN security module key does not match SECM_ESIGN_PUBKEY in configuration\n"); "ESIGN security module key does not match SECM_ESIGN_PUBKEY in configuration\n");
GNUNET_free (fn);
return GNUNET_SYSERR; return GNUNET_SYSERR;
} }
} }
@ -2634,6 +2636,7 @@ tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
"SECM_DENOM_PUBKEY", "SECM_DENOM_PUBKEY",
"key malformed"); "key malformed");
GNUNET_free (key); GNUNET_free (key);
GNUNET_free (fn);
return GNUNET_SYSERR; return GNUNET_SYSERR;
} }
GNUNET_free (key); GNUNET_free (key);
@ -2643,6 +2646,7 @@ tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
{ {
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"DENOM security module key does not match SECM_DENOM_PUBKEY in configuration\n"); "DENOM security module key does not match SECM_DENOM_PUBKEY in configuration\n");
GNUNET_free (fn);
return GNUNET_SYSERR; return GNUNET_SYSERR;
} }
} }
@ -2665,6 +2669,7 @@ tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
"SECM_DENOM_CS_PUBKEY", "SECM_DENOM_CS_PUBKEY",
"key malformed"); "key malformed");
GNUNET_free (key); GNUNET_free (key);
GNUNET_free (fn);
return GNUNET_SYSERR; return GNUNET_SYSERR;
} }
GNUNET_free (key); GNUNET_free (key);
@ -2674,6 +2679,7 @@ tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
{ {
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"DENOM security module key does not match SECM_DENOM_CS_PUBKEY in configuration\n"); "DENOM security module key does not match SECM_DENOM_CS_PUBKEY in configuration\n");
GNUNET_free (fn);
return GNUNET_SYSERR; return GNUNET_SYSERR;
} }
} }
@ -2700,6 +2706,7 @@ tofu_check (const struct TALER_SecurityModulePublicKeySetP *secmset)
GNUNET_free (fn); GNUNET_free (fn);
return GNUNET_SYSERR; return GNUNET_SYSERR;
} }
GNUNET_free (fn);
return GNUNET_NO; return GNUNET_NO;
} }

View File

@ -1916,6 +1916,10 @@ create_krd (struct TEH_KeyStateHandle *ksh,
r = json_object_update (keys, sig); r = json_object_update (keys, sig);
GNUNET_assert (0 == r); GNUNET_assert (0 == r);
} }
else
{
json_decref (extensions);
}
// Special case for age restrictions: if enabled, provide the lits of // Special case for age restrictions: if enabled, provide the lits of
// age-restricted denominations. // age-restricted denominations.