diff options
Diffstat (limited to 'src/json')
-rw-r--r-- | src/json/json_helper.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/json/json_helper.c b/src/json/json_helper.c index 9f57c56fc..01ca45f2b 100644 --- a/src/json/json_helper.c +++ b/src/json/json_helper.c @@ -1174,6 +1174,7 @@ parse_exchange_withdraw_values (void *cls, }; const char *emsg; unsigned int eline; + enum GNUNET_CRYPTO_BlindSignatureAlgorithm ci; (void) cls; if (GNUNET_OK != @@ -1185,17 +1186,18 @@ parse_exchange_withdraw_values (void *cls, GNUNET_break_op (0); return GNUNET_SYSERR; } - bi = GNUNET_new (struct GNUNET_CRYPTO_BlindingInputValues); - bi->cipher = string_to_cipher (cipher); - bi->rc = 1; - switch (bi->cipher) + ci = string_to_cipher (cipher); + switch (ci) { case GNUNET_CRYPTO_BSA_INVALID: break; case GNUNET_CRYPTO_BSA_RSA: - ewv->blinding_inputs = bi; + ewv->blinding_inputs = TALER_denom_ewv_rsa_singleton ()->blinding_inputs; return GNUNET_OK; case GNUNET_CRYPTO_BSA_CS: + bi = GNUNET_new (struct GNUNET_CRYPTO_BlindingInputValues); + bi->cipher = GNUNET_CRYPTO_BSA_CS; + bi->rc = 1; { struct GNUNET_JSON_Specification ispec[] = { GNUNET_JSON_spec_fixed ( @@ -1224,7 +1226,6 @@ parse_exchange_withdraw_values (void *cls, } } GNUNET_break_op (0); - GNUNET_free (bi); return GNUNET_SYSERR; } |