From e37e9a65517552e79614a1c81c8aff216d033e59 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 15 Aug 2022 15:40:07 -0400 Subject: Add missing bad-PGconn guards in libpq entry points. There's a convention that externally-visible libpq functions should check for a NULL PGconn pointer, and fail gracefully instead of crashing. PQflush() and PQisnonblocking() didn't get that memo though. Also add a similar check to PQdefaultSSLKeyPassHook_OpenSSL; while it's not clear that ordinary usage could reach that with a null conn pointer, it's cheap enough to check, so let's be consistent. Daniele Varrazzo and Tom Lane Discussion: https://postgr.es/m/CA+mi_8Zm_mVVyW1iNFgyMd9Oh0Nv8-F+7Y3-BqwMgTMHuo_h2Q@mail.gmail.com --- src/interfaces/libpq/fe-secure-openssl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/interfaces/libpq/fe-secure-openssl.c') diff --git a/src/interfaces/libpq/fe-secure-openssl.c b/src/interfaces/libpq/fe-secure-openssl.c index 196737563df..26615a1aa42 100644 --- a/src/interfaces/libpq/fe-secure-openssl.c +++ b/src/interfaces/libpq/fe-secure-openssl.c @@ -1747,7 +1747,7 @@ err: int PQdefaultSSLKeyPassHook_OpenSSL(char *buf, int size, PGconn *conn) { - if (conn->sslpassword) + if (conn && conn->sslpassword) { if (strlen(conn->sslpassword) + 1 > size) fprintf(stderr, libpq_gettext("WARNING: sslpassword truncated\n")); -- cgit v1.2.3