summaryrefslogtreecommitdiffstats
path: root/openpgp
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2020-04-01 14:49:02 +0200
committerJustus Winter <justus@sequoia-pgp.org>2020-04-01 16:15:00 +0200
commit102fbab3d78639758b558daab307ee928c55838e (patch)
tree6146b4b438c476fefd41599778ed7e675a0460dd /openpgp
parente7ff6802f7f3ef4803ffaae8292e76d130dc7daa (diff)
openpgp: Avoid underflow when parsing SKESK5 packets.
Diffstat (limited to 'openpgp')
-rw-r--r--openpgp/src/parse.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/openpgp/src/parse.rs b/openpgp/src/parse.rs
index b00c2c4d..bad956db 100644
--- a/openpgp/src/parse.rs
+++ b/openpgp/src/parse.rs
@@ -2355,7 +2355,7 @@ impl SKESK {
let mut esk = php_try!(php.reader.steal_eof()
.map_err(|e| anyhow::Error::from(e)));
let l = esk.len();
- let aead_digest = esk.split_off(l - digest_size);
+ let aead_digest = esk.split_off(l.saturating_sub(digest_size));
// Now fix the map.
php.field("esk", esk.len());
php.field("aead_digest", aead_digest.len());