summaryrefslogtreecommitdiffstats
path: root/openpgp/src/serialize.rs
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2020-08-12 15:42:18 +0200
committerJustus Winter <justus@sequoia-pgp.org>2020-08-20 12:17:21 +0200
commit05df451257320bf8dfd86f7fdd4d63f9c78dd691 (patch)
tree7d7cfbf8a88de0138bb2cd10785743d17955adee /openpgp/src/serialize.rs
parentbb447441a4a94563736760e28f368e1186064c57 (diff)
openpgp: Make SKESK?::esk and SKESK5::aead_iv fallible.
Diffstat (limited to 'openpgp/src/serialize.rs')
-rw-r--r--openpgp/src/serialize.rs12
1 files changed, 6 insertions, 6 deletions
diff --git a/openpgp/src/serialize.rs b/openpgp/src/serialize.rs
index 4aababcd..fe1d36cc 100644
--- a/openpgp/src/serialize.rs
+++ b/openpgp/src/serialize.rs
@@ -2313,7 +2313,7 @@ impl Marshal for SKESK4 {
write_byte(o, 4)?; // Version.
write_byte(o, self.symmetric_algo().into())?;
self.s2k().serialize(o)?;
- if let Some(ref esk) = self.esk() {
+ if let Some(ref esk) = self.esk()? {
o.write_all(&esk[..])?;
}
@@ -2326,7 +2326,7 @@ impl NetLength for SKESK4 {
1 // Version.
+ 1 // Algo.
+ self.s2k().serialized_len()
- + self.esk().map(|esk| esk.len()).unwrap_or(0)
+ + self.esk().unwrap().map(|esk| esk.len()).unwrap_or(0)
}
}
@@ -2346,8 +2346,8 @@ impl Marshal for SKESK5 {
write_byte(o, self.symmetric_algo().into())?;
write_byte(o, self.aead_algo().into())?;
self.s2k().serialize(o)?;
- o.write_all(self.aead_iv())?;
- if let Some(ref esk) = self.esk() {
+ o.write_all(self.aead_iv()?)?;
+ if let Some(ref esk) = self.esk()? {
o.write_all(&esk[..])?;
}
o.write_all(self.aead_digest())?;
@@ -2362,8 +2362,8 @@ impl NetLength for SKESK5 {
+ 1 // Cipher algo.
+ 1 // AEAD algo.
+ self.s2k().serialized_len()
- + self.aead_iv().len()
- + self.esk().map(|esk| esk.len()).unwrap_or(0)
+ + self.aead_iv().unwrap().len()
+ + self.esk().unwrap().map(|esk| esk.len()).unwrap_or(0)
+ self.aead_digest().len()
}
}