]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Don't leak malloc'd strings when a GUC setting is rejected.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 19 Mar 2021 02:09:41 +0000 (22:09 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 19 Mar 2021 02:09:41 +0000 (22:09 -0400)
commitfc552f8680a79d602beae230615ffe8ed236cc43
tree5f652642acbbeb64910d8c62bd99645fe638e225
parent92bc14a1027d9da079264c71329b87e137878845
Don't leak malloc'd strings when a GUC setting is rejected.

Because guc.c prefers to keep all its string values in malloc'd
not palloc'd storage, it has to be more careful than usual to
avoid leaks.  Error exits out of string GUC hook checks failed
to clear the proposed value string, and error exits out of
ProcessGUCArray() failed to clear the malloc'd results of
ParseLongOption().

Found via valgrind testing.
This problem is ancient, so back-patch to all supported branches.

Discussion: https://postgr.es/m/3816764.1616104288@sss.pgh.pa.us
src/backend/utils/misc/guc.c