diff options
-rw-r--r-- | src/exchange-lib/exchange_api_handle.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/exchange-lib/exchange_api_handle.c b/src/exchange-lib/exchange_api_handle.c index 40e51073e..590d4de99 100644 --- a/src/exchange-lib/exchange_api_handle.c +++ b/src/exchange-lib/exchange_api_handle.c @@ -413,8 +413,7 @@ parse_json_auditor (struct TALER_EXCHANGE_AuditorInformation *auditor, struct TALER_AuditorSignatureP auditor_sig; struct GNUNET_HashCode denom_h; const struct TALER_EXCHANGE_DenomPublicKey *dk; - unsigned int j; - struct GNUNET_JSON_Specification spec[] = { + struct GNUNET_JSON_Specification kspec[] = { GNUNET_JSON_spec_fixed_auto ("denom_pub_h", &denom_h), GNUNET_JSON_spec_fixed_auto ("auditor_sig", @@ -424,14 +423,14 @@ parse_json_auditor (struct TALER_EXCHANGE_AuditorInformation *auditor, if (GNUNET_OK != GNUNET_JSON_parse (key, - spec, + kspec, NULL, NULL)) { GNUNET_break_op (0); continue; } dk = NULL; - for (j=0;j<key_data->num_denom_keys;j++) + for (unsigned int j=0;j<key_data->num_denom_keys;j++) { if (0 == memcmp (&denom_h, &key_data->denom_keys[j].h_key, @@ -468,12 +467,14 @@ parse_json_auditor (struct TALER_EXCHANGE_AuditorInformation *auditor, &auditor->auditor_pub.eddsa_pub)) { GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); return GNUNET_SYSERR; } auditor->denom_keys[off] = dk; off++; } auditor->num_denom_keys = off; + GNUNET_JSON_parse_free (spec); return GNUNET_OK; } |