Обсуждение: pgsql: Don't leak malloc'd strings when a GUC setting is rejected.

Поиск
Список
Период
Сортировка

pgsql: Don't leak malloc'd strings when a GUC setting is rejected.

От
Tom Lane
Дата:
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

Branch
------
REL9_6_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/7e25217701cc54d16a2f07df135da3ba43066449

Modified Files
--------------
src/backend/utils/misc/guc.c | 71 +++++++++++++++++++++++++++++---------------
1 file changed, 47 insertions(+), 24 deletions(-)