ecpg: Fix NULL pointer dereference during connection lookup REL_14_STABLE github/REL_14_STABLE
authorMichael Paquier <michael@paquier.xyz>
Tue, 22 Jul 2025 05:00:10 +0000 (14:00 +0900)
committerMichael Paquier <michael@paquier.xyz>
Tue, 22 Jul 2025 05:00:10 +0000 (14:00 +0900)
commit408fe659a890e54a303d7f25d9f381ea36754856
treed3f1d4cc1157bd1e4447108662e2356a21cef66f
parent7efaf0a1b3e2ce58f4e4cddaa9afe6a60a978bcf
ecpg: Fix NULL pointer dereference during connection lookup

ECPGconnect() caches established connections to the server, supporting
the case of a NULL connection name when a database name is not specified
by its caller.

A follow-up call to ECPGget_PGconn() to get an established connection
from the cached set with a non-NULL name could cause a NULL pointer
dereference if a NULL connection was listed in the cache and checked for
a match.  At least two connections are necessary to reproduce the issue:
one with a NULL name and one with a non-NULL name.

Author:  Aleksander Alekseev <aleksander@tigerdata.com>
Discussion: http://postgr.es/m/CAJ7c6TNvFTPUTZQuNAoqgzaSGz-iM4XR61D7vEj5PsQXwg2RyA@mail.gmail.com
Backpatch-through: 13
src/interfaces/ecpg/ecpglib/connect.c