aboutsummaryrefslogtreecommitdiffstats
path: root/g10/gpgcompose.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2018-01-22 14:50:24 +0000
committerWerner Koch <[email protected]>2018-01-22 14:50:24 +0000
commit0131d4369a81a51bf7bb328cc81a3bb082ed1a94 (patch)
tree3d86a4fb3ec39cc7bc1bcfc6a33ad5bef2f99c82 /g10/gpgcompose.c
parentgpg: Support EAX if for latest Libgcrypt. (diff)
downloadgnupg-0131d4369a81a51bf7bb328cc81a3bb082ed1a94.tar.gz
gnupg-0131d4369a81a51bf7bb328cc81a3bb082ed1a94.zip
gpg: Refactor function encrypt_seskey.
* g10/encrypt.c (encrypt_seskey): Allocate the buffer for the encrypted key and returns that buffer and its length. (encrypt_simple): Adjust for above change. (write_symkey_enc): Ditto. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'g10/gpgcompose.c')
-rw-r--r--g10/gpgcompose.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/g10/gpgcompose.c b/g10/gpgcompose.c
index f87983802..f22c7c202 100644
--- a/g10/gpgcompose.c
+++ b/g10/gpgcompose.c
@@ -2283,9 +2283,11 @@ sk_esk (const char *option, int argc, char *argv[], void *cookie)
DEK *sesdekp = &sesdek;
/* Now encrypt the session key (or rather, the algorithm used to
- encrypt the SED plus the session key) using ENCKEY. */
- ske->seskeylen = 1 + sesdek.keylen;
- encrypt_seskey (&s2kdek, &sesdekp, ske->seskey);
+ encrypt the SKESK plus the session key) using ENCKEY. */
+ err = encrypt_seskey (&s2kdek, &sesdekp,
+ (void**)&ske->seskey, (size_t *)&ske->seskeylen);
+ if (err)
+ log_fatal ("encrypt_seskey failed: %s\n", gpg_strerror (err));
/* Save the session key for later. */
session_key = sesdek;