]> 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)
commit26a3ae06d85c835c04642c08e304e11821587ad2
tree725ea7adb7f5271353c755546a92d5200804088b
parent099d2914f30b8c1c9d7aa09a8fa1e1ca3474866e
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