diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2018-06-29 11:50:34 +0200 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2018-06-29 11:54:43 +0200 |
commit | ac4d003e6162ee8eed31bb48fa9dd79a8197f2ab (patch) | |
tree | d68e2ce5657fb0d54db6d25ccd9672d9b9dbc2c1 | |
parent | 7283fcd8245a20385a7734164999060c27d7e576 (diff) |
openpgp: Make iterating over maps of broken packages more robust.
- Avoid out-of-bounds slicing.
-rw-r--r-- | openpgp/src/parse/parse.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/openpgp/src/parse/parse.rs b/openpgp/src/parse/parse.rs index 90865ff1..ebe78830 100644 --- a/openpgp/src/parse/parse.rs +++ b/openpgp/src/parse/parse.rs @@ -584,8 +584,9 @@ impl Map { Box::new( iter::once(("header", self.header.as_slice())) .chain(self.entries.iter().map(move |e| { - (e.field, - &self.data[e.offset..cmp::min(len, e.offset + e.length)]) + let start = cmp::min(len, e.offset); + let end = cmp::min(len, e.offset + e.length); + (e.field, &self.data[start..end]) }))) } } |