summaryrefslogtreecommitdiff
path: root/cipher/primegen.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2003-10-10 14:23:35 +0000
committerWerner Koch <wk@gnupg.org>2003-10-10 14:23:35 +0000
commit1f0fb630b61869d15d6f1cf07de804000e34846f (patch)
tree58699b3548ed94e4742698a215caa702b03a8d75 /cipher/primegen.c
parent5a6f5f2881b615845f1f660c98561d209313efab (diff)
downloadlibgcrypt-1f0fb630b61869d15d6f1cf07de804000e34846f.tar.gz
* primegen.c (gcry_prime_generate): Make sure PRIME is set to NULL
even on error.
Diffstat (limited to 'cipher/primegen.c')
-rw-r--r--cipher/primegen.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/cipher/primegen.c b/cipher/primegen.c
index cc082e52..ed3420d9 100644
--- a/cipher/primegen.c
+++ b/cipher/primegen.c
@@ -834,6 +834,10 @@ gcry_prime_generate (gcry_mpi_t *prime, unsigned int prime_bits,
gcry_mpi_t prime_generated = NULL;
unsigned int mode = 0;
+ if (!prime)
+ return gpg_error (GPG_ERR_INV_ARG);
+ *prime = NULL;
+
if (flags & GCRY_PRIME_FLAG_SPECIAL_FACTOR)
mode = 1;
@@ -907,6 +911,7 @@ gcry_prime_group_generator (gcry_mpi_t *r_g,
if (!factors || !r_g || !prime)
return gpg_error (GPG_ERR_INV_ARG);
+ *r_g = NULL;
for (n=0; factors[n]; n++)
;