postgresql/contrib/pgcrypto
Tom Lane 2aa6be6e64 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
2026-06-22 12:59:16 -04:00
..
expected pgcrypto: Tweak error message for incorrect session key length 2026-02-16 12:18:30 +09:00
scripts pgcrypto: Fix buffer overflow in pgp_pub_decrypt_bytea() 2026-02-09 08:01:07 +09:00
sql Fix test "NUL byte in text decrypt" for --without-zlib builds. 2026-02-09 09:08:13 -08:00
.gitignore Support SCRAM-SHA-256 authentication (RFC 5802 and 7677). 2017-03-07 14:25:40 +02:00
crypt-blowfish.c Tidy up claimed supported CPUs and OSes. 2022-07-11 11:50:41 +12:00
crypt-des.c Replace remaining StrNCpy() by strlcpy() 2020-08-10 23:20:37 +02:00
crypt-gensalt.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
crypt-md5.c Add missing error check in pgcrypto/crypt-md5.c. 2020-10-16 11:59:13 -04:00
Makefile pgcrypto: Fix buffer overflow in pgp_pub_decrypt_bytea() 2026-02-09 08:01:07 +09:00
mbuf.c pgcrypto: Remove unused code 2022-09-14 21:58:30 +02:00
mbuf.h Harmonize parameter names in contrib code. 2022-09-22 13:59:20 -07:00
meson.build pgcrypto: Fix buffer overflow in pgp_pub_decrypt_bytea() 2026-02-09 08:01:07 +09:00
openssl.c pgcrypto: avoid recursive ResourceOwnerForget(). 2026-06-22 12:59:16 -04:00
pgcrypto--1.0--1.1.sql Add gen_random_uuid() to contrib/pgcrypto. 2014-01-17 16:52:06 -05:00
pgcrypto--1.1--1.2.sql Add functions for dealing with PGP armor header lines to pgcrypto. 2014-10-01 16:03:39 +03:00
pgcrypto--1.2--1.3.sql Update pgcrypto extension for parallel query. 2016-06-09 17:18:14 -04:00
pgcrypto--1.3.sql Minor fixes in contrib installation scripts. 2016-06-14 10:47:06 -04:00
pgcrypto.c New header varatt.h split off from postgres.h 2023-01-10 05:54:36 +01:00
pgcrypto.control Mark some contrib modules as "trusted". 2020-02-13 15:02:35 -05:00
pgcrypto.h Remove unnecessary prototypes 2016-09-30 14:04:16 -04:00
pgp-armor.c Add some const qualifiers 2023-09-26 11:28:57 +01:00
pgp-cfb.c pgcrypto: Remove internal padding implementation 2022-03-22 08:58:44 +01:00
pgp-compress.c Improve const use in zlib-using code 2023-08-07 09:34:38 +02:00
pgp-decrypt.c pgcrypto: Fix check for buffer size 2024-01-30 11:15:46 +01:00
pgp-encrypt.c Remove custom memory allocation layer in pgcrypto 2020-09-25 10:25:55 +09:00
pgp-info.c Dial back -Wimplicit-fallthrough to level 3 2020-05-13 15:31:14 -04:00
pgp-mpi-openssl.c Make the order of the header file includes consistent in contrib modules. 2019-10-24 08:05:34 +05:30
pgp-mpi.c Remove custom memory allocation layer in pgcrypto 2020-09-25 10:25:55 +09:00
pgp-pgsql.c Require PGP-decrypted text to pass encoding validation. 2026-02-09 06:14:51 -08:00
pgp-pubdec.c pgcrypto: Fix buffer overflow in pgp_pub_decrypt_bytea() 2026-02-09 08:01:07 +09:00
pgp-pubenc.c Remove custom memory allocation layer in pgcrypto 2020-09-25 10:25:55 +09:00
pgp-pubkey.c Remove custom memory allocation layer in pgcrypto 2020-09-25 10:25:55 +09:00
pgp-s2k.c Make the order of the header file includes consistent in contrib modules. 2019-10-24 08:05:34 +05:30
pgp.c pgcrypto: Remove unused code 2022-09-14 21:58:30 +02:00
pgp.h Add trailing commas to enum definitions 2023-10-26 09:20:54 +02:00
px-crypt.c Make the order of the header file includes consistent in contrib modules. 2019-10-24 08:05:34 +05:30
px-crypt.h Harmonize parameter names in contrib code. 2022-09-22 13:59:20 -07:00
px-hmac.c Remove custom memory allocation layer in pgcrypto 2020-09-25 10:25:55 +09:00
px.c pgcrypto: Tweak error message for incorrect session key length 2026-02-16 12:18:30 +09:00
px.h pgcrypto: Fix buffer overflow in pgp_pub_decrypt_bytea() 2026-02-09 08:01:07 +09:00