Simplify EVP_DecryptUpdate() a bit
authortb <tb@openbsd.org>
Wed, 20 Dec 2023 10:35:25 +0000 (10:35 +0000)
committertb <tb@openbsd.org>
Wed, 20 Dec 2023 10:35:25 +0000 (10:35 +0000)
commit18a9a61616e6a5b62e16ea35d54d5db9174a69c3
tree6fb14e314854889feeaaa3260c05375e35c93fe1
parent2a4b60856a17fbfe09958e2251c6dea27972340e
Simplify EVP_DecryptUpdate() a bit

This time the block size is called b and there's some awful length
fiddling with fix_len, which until recently also served as store
for the return value for do_cipher()...

If we land on a block boundary, we keep the last block decrypted and
don't count it as part of the output. So in the next call we need to
feed it back in. Feeding it back in counts as output written this time
around, so instead of remembering that we need to adjust outl, keep a
tally of the bytes written. This way we can also do some overflow and
underflow checking.

ok jsing
lib/libcrypto/evp/evp_enc.c