1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-11-04 20:38:50 +01:00

gpg: release DEK soon after its use.

* g10/keygen.c (generate_subkeypair): Release DEK soon.

--

This fixes the out_of_core error in the test case of adding
RSA-4096 subkey to RSA-4096 primary key with configuration:

    s2k-cipher-algo S10

Debian-bug-id: 772780
This commit is contained in:
NIIBE Yutaka 2014-12-12 17:41:56 +09:00
parent c935c73f82
commit da66ad5bba

View File

@ -3447,6 +3447,7 @@ generate_subkeypair( KBNODE pub_keyblock, KBNODE sec_keyblock )
rc = do_create (algo, nbits, pub_keyblock, sec_keyblock, rc = do_create (algo, nbits, pub_keyblock, sec_keyblock,
dek, s2k, &sub_sk, timestamp, expire, 1 ); dek, s2k, &sub_sk, timestamp, expire, 1 );
xfree( dek );
if (!rc) if (!rc)
rc = write_keybinding (pub_keyblock, pub_keyblock, pri_sk, sub_sk, rc = write_keybinding (pub_keyblock, pub_keyblock, pri_sk, sub_sk,
use, timestamp); use, timestamp);
@ -3463,7 +3464,6 @@ generate_subkeypair( KBNODE pub_keyblock, KBNODE sec_keyblock )
if( rc ) if( rc )
log_error(_("Key generation failed: %s\n"), g10_errstr(rc) ); log_error(_("Key generation failed: %s\n"), g10_errstr(rc) );
xfree( passphrase ); xfree( passphrase );
xfree( dek );
xfree( s2k ); xfree( s2k );
/* release the copy of the (now unprotected) secret keys */ /* release the copy of the (now unprotected) secret keys */
if( pri_sk ) if( pri_sk )