gpg: release DEK soon after its use.
authorNIIBE Yutaka <gniibe@fsij.org>
Fri, 12 Dec 2014 08:41:56 +0000 (17:41 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Fri, 12 Dec 2014 08:41:56 +0000 (17:41 +0900)
* 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

g10/keygen.c

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