2003-04-27 Moritz Schulte <moritz@g10code.com>
authorMoritz Schulte <mo@g10code.com>
Sun, 27 Apr 2003 20:19:30 +0000 (20:19 +0000)
committerMoritz Schulte <mo@g10code.com>
Sun, 27 Apr 2003 20:19:30 +0000 (20:19 +0000)
* pubkey.c (gcry_pk_genkey): Release sexp after extracted data has
been used.

cipher/ChangeLog
cipher/pubkey.c

index a4b45e2..e128d3e 100644 (file)
@@ -1,5 +1,8 @@
 2003-04-27  Moritz Schulte  <moritz@g10code.com>
 
+       * pubkey.c (gcry_pk_genkey): Release sexp after extracted data has
+       been used.
+
        * md.c (gcry_md_get_algo_dlen): Simplified, simply call
        md_digest_length to do the job.
 
index 5a4a91b..5ee00d7 100644 (file)
@@ -1835,8 +1835,6 @@ gcry_pk_genkey (GCRY_SEXP *r_key, GCRY_SEXP s_parms)
          char buf[50];
 
          name = gcry_sexp_nth_data (l2, 1, &n);
-         gcry_sexp_release (l2);
-         l2 = NULL;
          if ((! name) || (n >= DIM (buf) - 1))
            rc = GCRYERR_INV_OBJ; /* no value or value too large */
          else
@@ -1845,6 +1843,8 @@ gcry_pk_genkey (GCRY_SEXP *r_key, GCRY_SEXP s_parms)
              buf[n] = 0;
              use_e = strtoul (buf, NULL, 0);
            }
+         gcry_sexp_release (l2);
+         l2 = NULL;
        }
       else
        use_e = 65537; /* not given, use the value generated by old versions. */