aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeff Burdges <burdges@gnunet.org>2016-03-21 14:06:01 +0000
committerJeff Burdges <burdges@gnunet.org>2016-03-21 14:06:01 +0000
commitd13b8484c6c71061f737085ee56c0d1a6c1dd9a4 (patch)
treedd474d0076d0d43a6ce107b9828cedf12b64be32 /src
parent44df35a1926b4ed97e56214f2fffe2b9dce1492b (diff)
downloadgnunet-d13b8484c6c71061f737085ee56c0d1a6c1dd9a4.tar.gz
gnunet-d13b8484c6c71061f737085ee56c0d1a6c1dd9a4.zip
Release outside of helper function
Diffstat (limited to 'src')
-rw-r--r--src/util/crypto_rsa.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/util/crypto_rsa.c b/src/util/crypto_rsa.c
index b19634ab8..9fecfb738 100644
--- a/src/util/crypto_rsa.c
+++ b/src/util/crypto_rsa.c
@@ -827,7 +827,7 @@ mpi_to_sexp (gcry_mpi_t value)
827 827
828 828
829/** 829/**
830 * Sign and release the given MPI. 830 * Sign the given MPI.
831 * 831 *
832 * @param key private key to use for the signing 832 * @param key private key to use for the signing
833 * @param value the MPI to sign 833 * @param value the MPI to sign
@@ -843,7 +843,6 @@ rsa_sign_mpi (const struct GNUNET_CRYPTO_RsaPrivateKey *key,
843 gcry_sexp_t result; 843 gcry_sexp_t result;
844 844
845 data = mpi_to_sexp (value); 845 data = mpi_to_sexp (value);
846 gcry_mpi_release (value);
847 846
848 if (0 != 847 if (0 !=
849 gcry_pk_sign (&result, 848 gcry_pk_sign (&result,
@@ -891,6 +890,7 @@ GNUNET_CRYPTO_rsa_sign_blinded (const struct GNUNET_CRYPTO_RsaPrivateKey *key,
891 size_t msg_len) 890 size_t msg_len)
892{ 891{
893 gcry_mpi_t v = NULL; 892 gcry_mpi_t v = NULL;
893 struct GNUNET_CRYPTO_RsaSignature *sig;
894 894
895 GNUNET_assert (0 == 895 GNUNET_assert (0 ==
896 gcry_mpi_scan (&v, 896 gcry_mpi_scan (&v,
@@ -899,7 +899,9 @@ GNUNET_CRYPTO_rsa_sign_blinded (const struct GNUNET_CRYPTO_RsaPrivateKey *key,
899 msg_len, 899 msg_len,
900 NULL)); 900 NULL));
901 901
902 return rsa_sign_mpi (key, v); 902 sig = rsa_sign_mpi (key, v);
903 gcry_mpi_release (value);
904 return sig;
903} 905}
904 906
905 907
@@ -917,13 +919,17 @@ GNUNET_CRYPTO_rsa_sign_fdh (const struct GNUNET_CRYPTO_RsaPrivateKey *key,
917 struct GNUNET_CRYPTO_RsaPublicKey *pkey; 919 struct GNUNET_CRYPTO_RsaPublicKey *pkey;
918 gcry_mpi_t v = NULL; 920 gcry_mpi_t v = NULL;
919 gcry_error_t rc; 921 gcry_error_t rc;
922 struct GNUNET_CRYPTO_RsaSignature *sig;
920 923
921 pkey = GNUNET_CRYPTO_rsa_private_key_get_public (key); 924 pkey = GNUNET_CRYPTO_rsa_private_key_get_public (key);
922 rc = rsa_full_domain_hash (&v, hash, pkey, NULL); 925 rc = rsa_full_domain_hash (&v, hash, pkey, NULL);
923 GNUNET_CRYPTO_rsa_public_key_free (pkey); 926 GNUNET_CRYPTO_rsa_public_key_free (pkey);
924 GNUNET_assert (0 == rc); 927 GNUNET_assert (0 == rc);
925 928
926 return rsa_sign_mpi (key,v); 929 sig = rsa_sign_mpi (key, v);
930 gcry_mpi_release (value);
931 return sig;
932
927} 933}
928 934
929 935