diff options
Diffstat (limited to 'openpgp/src/crypto')
-rw-r--r-- | openpgp/src/crypto/aead.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/openpgp/src/crypto/aead.rs b/openpgp/src/crypto/aead.rs index 03c02da2..dcc5843a 100644 --- a/openpgp/src/crypto/aead.rs +++ b/openpgp/src/crypto/aead.rs @@ -790,15 +790,16 @@ impl<W: io::Write> Encryptor<W> { unsafe { self.scratch.set_len(self.digest_size) } aead.digest(&mut self.scratch[..self.digest_size]); inner.write_all(&self.scratch[..self.digest_size])?; - - // Write final digest. - let mut aead = self.make_aead()?; - self.hash_associated_data(&mut aead, true); - let mut nada = [0; 0]; - aead.encrypt(&mut nada, b""); - aead.digest(&mut self.scratch[..self.digest_size]); - inner.write_all(&self.scratch[..self.digest_size])?; } + + // Write final digest. + let mut aead = self.make_aead()?; + self.hash_associated_data(&mut aead, true); + let mut nada = [0; 0]; + aead.encrypt(&mut nada, b""); + aead.digest(&mut self.scratch[..self.digest_size]); + inner.write_all(&self.scratch[..self.digest_size])?; + Ok(inner) } else { Err(io::Error::new(io::ErrorKind::BrokenPipe, |