postgresql/contrib/pgcrypto
Tom Lane 80bb0ebcc1 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:18 +09:00
scripts pgcrypto: Fix buffer overflow in pgp_pub_decrypt_bytea() 2026-02-09 08:00:59 +09:00
sql Fix test "NUL byte in text decrypt" for --without-zlib builds. 2026-02-09 09:08:10 -08:00
.gitignore Support SCRAM-SHA-256 authentication (RFC 5802 and 7677). 2017-03-07 14:25:40 +02:00
crypt-blowfish.c Pre-beta mechanical code beautification, step 1: run pgindent. 2026-05-13 10:34:17 -04:00
crypt-des.c Replace remaining StrNCpy() by strlcpy() 2020-08-10 23:20:37 +02:00
crypt-gensalt.c Pre-beta mechanical code beautification, step 1: run pgindent. 2026-05-13 10:34:17 -04:00
crypt-md5.c pgcrypto: Remove static storage class from variables 2025-02-06 15:13:40 +01:00
crypt-sha.c Add missing period to HINT messages. 2026-04-14 09:37:18 +05:30
Makefile pgcrypto: Fix buffer overflow in pgp_pub_decrypt_bytea() 2026-02-09 08:00:59 +09:00
mbuf.c Use more palloc_object() and palloc_array() in contrib/ 2025-12-05 16:40:26 +09: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:00:59 +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--1.4.sql pgcrypto: Add function to check FIPS mode 2025-01-24 14:18:40 +01:00
pgcrypto--1.3.sql Minor fixes in contrib installation scripts. 2016-06-14 10:47:06 -04:00
pgcrypto.c Use PG_MODULE_MAGIC_EXT in our installable shared libraries. 2025-03-26 11:11:02 -04:00
pgcrypto.control pgcrypto: Add function to check FIPS mode 2025-01-24 14:18:40 +01: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 Use more palloc_object() and palloc_array() in contrib/ 2025-12-05 16:40:26 +09:00
pgp-compress.c Use more palloc_object() and palloc_array() in contrib/ 2025-12-05 16:40:26 +09:00
pgp-decrypt.c Use more palloc_object() and palloc_array() in contrib/ 2025-12-05 16:40:26 +09:00
pgp-encrypt.c Use more palloc_object() and palloc_array() in contrib/ 2025-12-05 16:40:26 +09:00
pgp-info.c Use fallthrough attribute instead of comment 2026-02-19 08:51:12 +01: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:47 -08:00
pgp-pubdec.c pgcrypto: Fix buffer overflow in pgp_pub_decrypt_bytea() 2026-02-09 08:00:59 +09:00
pgp-pubenc.c Remove custom memory allocation layer in pgcrypto 2020-09-25 10:25:55 +09:00
pgp-pubkey.c Use more palloc_object() and palloc_array() in contrib/ 2025-12-05 16:40:26 +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 Add modern SHA-2 based password hashes to pgcrypto. 2025-04-05 19:17:13 +02:00
px-crypt.h Add modern SHA-2 based password hashes to pgcrypto. 2025-04-05 19:17:13 +02:00
px-hmac.c Use more palloc_object() and palloc_array() in contrib/ 2025-12-05 16:40:26 +09:00
px.c Pre-beta mechanical code beautification, step 1: run pgindent. 2026-05-13 10:34:17 -04:00
px.h Pre-beta mechanical code beautification, step 1: run pgindent. 2026-05-13 10:34:17 -04:00