diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2020-04-01 14:49:02 +0200 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2020-04-01 16:15:00 +0200 |
commit | 102fbab3d78639758b558daab307ee928c55838e (patch) | |
tree | 6146b4b438c476fefd41599778ed7e675a0460dd /openpgp | |
parent | e7ff6802f7f3ef4803ffaae8292e76d130dc7daa (diff) |
openpgp: Avoid underflow when parsing SKESK5 packets.
Diffstat (limited to 'openpgp')
-rw-r--r-- | openpgp/src/parse.rs | 2 |
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()); |