From: Jeff Davis Date: Sat, 13 Jan 2024 05:38:16 +0000 (-0800) Subject: Fix memory leak in connection string validation. X-Git-Tag: REL_17_BETA1~1122 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=45da69371ebfc4d6982695e58791989660c1cc33;p=thirdparty%2Fpostgresql.git Fix memory leak in connection string validation. Introduced in commit c3afe8cf5a. Discussion: https://postgr.es/m/066a65233d3cb4ea27a9e0778d2f1d0dc764b222.camel@j-davis.com Reviewed-by: Nathan Bossart, Tom Lane Backpatch-through: 16 --- diff --git a/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c b/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c index ead30f87c96..201c36cb220 100644 --- a/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c +++ b/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c @@ -284,10 +284,15 @@ libpqrcv_check_conninfo(const char *conninfo, bool must_use_password) } if (!uses_password) + { + /* malloc'd, so we must free it explicitly */ + PQconninfoFree(opts); + ereport(ERROR, (errcode(ERRCODE_S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED), errmsg("password is required"), errdetail("Non-superusers must provide a password in the connection string."))); + } } PQconninfoFree(opts);