summaryrefslogtreecommitdiffstats
path: root/openpgp/src/crypto/backend/nettle/ecdh.rs
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2020-07-28 17:25:24 +0200
committerJustus Winter <justus@sequoia-pgp.org>2020-07-28 17:25:24 +0200
commit076e1bc52c3bad717b8a6b8322ebb0daf044793a (patch)
tree9925f0f964a80ad26944059c455994480b70a513 /openpgp/src/crypto/backend/nettle/ecdh.rs
parentb9f1dac59c758826c7c92541d01f447179a1e4d2 (diff)
openpgp: Explicitly handle plaintexts being too large.
- Fixes undefined behavior (a likely crash) in pkcs5_pad.
Diffstat (limited to 'openpgp/src/crypto/backend/nettle/ecdh.rs')
-rw-r--r--openpgp/src/crypto/backend/nettle/ecdh.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/openpgp/src/crypto/backend/nettle/ecdh.rs b/openpgp/src/crypto/backend/nettle/ecdh.rs
index c6bd5552..f3f820b5 100644
--- a/openpgp/src/crypto/backend/nettle/ecdh.rs
+++ b/openpgp/src/crypto/backend/nettle/ecdh.rs
@@ -138,7 +138,7 @@ pub fn encrypt_shared<R>(recipient: &Key<key::PublicParts, R>,
// m = sym_alg_ID || session key || checksum || pkcs5_padding;
let mut m = Vec::with_capacity(40);
m.extend_from_slice(session_key);
- let m = pkcs5_pad(m.into(), 40);
+ let m = pkcs5_pad(m.into(), 40)?;
// Note: We always pad up to 40 bytes to obfuscate the
// length of the symmetric key.