diff options
author | Schanzenbach, Martin <mschanzenbach@posteo.de> | 2017-07-09 20:14:16 +0200 |
---|---|---|
committer | Schanzenbach, Martin <mschanzenbach@posteo.de> | 2017-07-09 20:14:16 +0200 |
commit | 811155110e1d22345f13ac6c7c85ebba92226132 (patch) | |
tree | faad9fd111e87b8156fb2b506d9dc4288e56fe22 /src/util/crypto_abe.c | |
parent | aefb30b1912933105b36c60f098a9f3c815549c2 (diff) | |
download | gnunet-811155110e1d22345f13ac6c7c85ebba92226132.tar.gz gnunet-811155110e1d22345f13ac6c7c85ebba92226132.zip |
-fixes
Diffstat (limited to 'src/util/crypto_abe.c')
-rw-r--r-- | src/util/crypto_abe.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/util/crypto_abe.c b/src/util/crypto_abe.c index 798a74f87..f84aaf9f9 100644 --- a/src/util/crypto_abe.c +++ b/src/util/crypto_abe.c | |||
@@ -145,7 +145,6 @@ GNUNET_CRYPTO_cpabe_create_master_key (void) | |||
145 | key->msk = bswabe_msk_serialize(msk); | 145 | key->msk = bswabe_msk_serialize(msk); |
146 | GNUNET_assert (NULL != key->pub); | 146 | GNUNET_assert (NULL != key->pub); |
147 | GNUNET_assert (NULL != key->msk); | 147 | GNUNET_assert (NULL != key->msk); |
148 | bswabe_pub_free (pub); | ||
149 | bswabe_msk_free (msk); | 148 | bswabe_msk_free (msk); |
150 | return key; | 149 | return key; |
151 | } | 150 | } |
@@ -174,6 +173,8 @@ GNUNET_CRYPTO_cpabe_create_key (struct GNUNET_CRYPTO_AbeMasterKey *key, | |||
174 | prv_key->prv = bswabe_prv_serialize(prv); | 173 | prv_key->prv = bswabe_prv_serialize(prv); |
175 | prv_key->pub = bswabe_pub_serialize (pub); | 174 | prv_key->pub = bswabe_pub_serialize (pub); |
176 | GNUNET_assert (NULL != prv_key->prv); | 175 | GNUNET_assert (NULL != prv_key->prv); |
176 | //Memory management in bswabe is buggy | ||
177 | //bswabe_prv_free (prv); | ||
177 | bswabe_msk_free (msk); | 178 | bswabe_msk_free (msk); |
178 | return prv_key; | 179 | return prv_key; |
179 | } | 180 | } |
@@ -296,6 +297,7 @@ GNUNET_CRYPTO_cpabe_decrypt (const void *block, | |||
296 | if( !bswabe_dec(pub, prv, cph, m) ) { | 297 | if( !bswabe_dec(pub, prv, cph, m) ) { |
297 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 298 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
298 | "%s\n", bswabe_error()); | 299 | "%s\n", bswabe_error()); |
300 | bswabe_cph_free(cph); | ||
299 | return GNUNET_SYSERR; | 301 | return GNUNET_SYSERR; |
300 | } | 302 | } |
301 | bswabe_cph_free(cph); | 303 | bswabe_cph_free(cph); |
@@ -304,7 +306,8 @@ GNUNET_CRYPTO_cpabe_decrypt (const void *block, | |||
304 | g_byte_array_free(aes_buf, 1); | 306 | g_byte_array_free(aes_buf, 1); |
305 | *result = GNUNET_malloc (plt->len); | 307 | *result = GNUNET_malloc (plt->len); |
306 | GNUNET_memcpy (*result, plt->data, plt->len); | 308 | GNUNET_memcpy (*result, plt->data, plt->len); |
307 | bswabe_prv_free (prv); | 309 | //freeing is buggy in bswabe |
310 | //bswabe_prv_free (prv); | ||
308 | bswabe_pub_free (pub); | 311 | bswabe_pub_free (pub); |
309 | return pt_size; | 312 | return pt_size; |
310 | } | 313 | } |