pgcrypto: Fix check for buffer size
authorDaniel Gustafsson <dgustafsson@postgresql.org>
Tue, 30 Jan 2024 10:15:46 +0000 (11:15 +0100)
committerDaniel Gustafsson <dgustafsson@postgresql.org>
Tue, 30 Jan 2024 10:15:46 +0000 (11:15 +0100)
commitb527ebc1d37aa82b771dc9c76111bed1bce35a05
tree962fa08088f08ea6ffa26944480321c0f3bf0056
parent4c48c0fe561c2b07831c2a296da637401cb953c6
pgcrypto: Fix check for buffer size

The code copying the PGP block into the temp buffer failed to
account for the extra 2 bytes in the buffer which are needed
for the prefix. If the block was oversized, subsequent checks
of the prefix would have exceeded the buffer size.  Since the
block sizes are hardcoded in the list of supported ciphers it
can be verified that there is no live bug here. Backpatch all
the way for consistency though, as this bug is old.

Author: Mikhail Gribkov <youzhick@gmail.com>
Discussion: https://postgr.es/m/CAMEv5_uWvcMCMdRFDsJLz2Q8g16HEa9xWyfrkr+FYMMFJhawOw@mail.gmail.com
Backpatch-through: v12
contrib/pgcrypto/pgp-decrypt.c