]> git.ipfire.org Git - thirdparty/postgresql.git/commit
pgcrypto: avoid recursive ResourceOwnerForget().
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 22 Jun 2026 16:59:16 +0000 (12:59 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 22 Jun 2026 16:59:16 +0000 (12:59 -0400)
commit020426268ff6acaa140780336eb1c50b034cb893
tree3778519e9937a1ab95a8a8935aee28de553f8886
parente0252679559adaeee16a7924430f542a1cad3ab7
pgcrypto: avoid recursive ResourceOwnerForget().

Raising an error within a function using an OSSLCipher object led
to a complaint from ResourceOwnerForget and then a double-free crash,
because ResOwnerReleaseOSSLCipher forgot to unhook the OSSLCipher
object from its owner.  (The sibling logic for OSSLDigest objects got
this right, as did every other ReleaseResource function AFAICS.)

Oversight in cd694f60d.

Bug: #19527
Reported-by: Yuelin Wang <3020001251@tju.edu.cn>
Author: Yuelin Wang <3020001251@tju.edu.cn>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/19527-6e7686960c6dce78@postgresql.org
Backpatch-through: 17
contrib/pgcrypto/openssl.c