agora inbox for pgsql-hackers@postgresql.org  
help / color / mirror / Atom feed
[PATCH v25 5/9] lfirst -> lfirst_node
357+ messages / 2 participants
[nested] [flat]

* [PATCH v25 5/9] lfirst -> lfirst_node
@ 2022-11-16 11:25  Alvaro Herrera <alvherre@alvh.no-ip.org>
  0 siblings, 0 replies; 357+ messages in thread

From: Alvaro Herrera @ 2022-11-16 11:25 UTC (permalink / raw)

---
 contrib/sepgsql/dml.c               | 2 +-
 src/backend/executor/execMain.c     | 4 ++--
 src/backend/parser/parse_relation.c | 5 ++---
 src/backend/rewrite/rewriteDefine.c | 2 +-
 src/backend/rewrite/rewriteManip.c  | 2 +-
 5 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/contrib/sepgsql/dml.c b/contrib/sepgsql/dml.c
index c4e071b0ea..3509358fbe 100644
--- a/contrib/sepgsql/dml.c
+++ b/contrib/sepgsql/dml.c
@@ -285,7 +285,7 @@ sepgsql_dml_privileges(List *rangeTbls, List *rtepermlist,
 
 	foreach(lr, rtepermlist)
 	{
-		RTEPermissionInfo *perminfo = lfirst(lr);
+		RTEPermissionInfo *perminfo = lfirst_node(RTEPermissionInfo, lr);
 		uint32		required = 0;
 		List	   *tableIds;
 		ListCell   *li;
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c
index c43d2215b3..926820f19b 100644
--- a/src/backend/executor/execMain.c
+++ b/src/backend/executor/execMain.c
@@ -578,7 +578,7 @@ ExecCheckPermissions(List *rangeTable, List *rtepermlist,
 
 	foreach(l, rtepermlist)
 	{
-		RTEPermissionInfo *perminfo = (RTEPermissionInfo *) lfirst(l);
+		RTEPermissionInfo *perminfo = lfirst_node(RTEPermissionInfo, l);
 
 		Assert(OidIsValid(perminfo->relid));
 		result = ExecCheckOneRelPerms(perminfo);
@@ -765,7 +765,7 @@ ExecCheckXactReadOnly(PlannedStmt *plannedstmt)
 	 */
 	foreach(l, plannedstmt->rtepermlist)
 	{
-		RTEPermissionInfo *perminfo = (RTEPermissionInfo *) lfirst(l);
+		RTEPermissionInfo *perminfo = lfirst_node(RTEPermissionInfo, l);
 
 		if ((perminfo->requiredPerms & (~ACL_SELECT)) == 0)
 			continue;
diff --git a/src/backend/parser/parse_relation.c b/src/backend/parser/parse_relation.c
index 4dc8d7ecf5..5fd01965a4 100644
--- a/src/backend/parser/parse_relation.c
+++ b/src/backend/parser/parse_relation.c
@@ -3753,9 +3753,8 @@ GetRTEPermissionInfo(List *rtepermlist, RangeTblEntry *rte)
 	if (rte->perminfoindex > list_length(rtepermlist))
 		elog(ERROR, "invalid perminfoindex %u in RTE with relid %u",
 			 rte->perminfoindex, rte->relid);
-	perminfo = (RTEPermissionInfo *) list_nth(rtepermlist,
-											  rte->perminfoindex - 1);
-	Assert(perminfo != NULL);
+	perminfo = list_nth_node(RTEPermissionInfo, rtepermlist,
+							 rte->perminfoindex - 1);
 	if (perminfo->relid != rte->relid)
 		elog(ERROR, "permission info at index %u (with relid=%u) does not match requested RTE (with relid=%u)",
 			 rte->perminfoindex, perminfo->relid, rte->relid);
diff --git a/src/backend/rewrite/rewriteDefine.c b/src/backend/rewrite/rewriteDefine.c
index 5f50c87b01..3b2649f7a0 100644
--- a/src/backend/rewrite/rewriteDefine.c
+++ b/src/backend/rewrite/rewriteDefine.c
@@ -834,7 +834,7 @@ setRuleCheckAsUser_Query(Query *qry, Oid userid)
 	/* Set in all RTEPermissionInfos for this query. */
 	foreach(l, qry->rtepermlist)
 	{
-		RTEPermissionInfo *perminfo = (RTEPermissionInfo *) lfirst(l);
+		RTEPermissionInfo *perminfo = lfirst_node(RTEPermissionInfo, l);
 
 		perminfo->checkAsUser = userid;
 	}
diff --git a/src/backend/rewrite/rewriteManip.c b/src/backend/rewrite/rewriteManip.c
index 3552a8db59..9208e8760d 100644
--- a/src/backend/rewrite/rewriteManip.c
+++ b/src/backend/rewrite/rewriteManip.c
@@ -1550,7 +1550,7 @@ ConcatRTEPermissionInfoLists(List **dest_rtepermlist, List *src_rtepermlist,
 
 	foreach(l, src_rtable)
 	{
-		RangeTblEntry  *rte = (RangeTblEntry *) lfirst(l);
+		RangeTblEntry  *rte = lfirst_node(RangeTblEntry, l);
 
 		if (rte->perminfoindex > 0)
 			rte->perminfoindex += offset;
-- 
2.30.2


--3sqhherzatux5zde
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v25-0006-fixup-change-ConcatRTEPermissionInfoLists-API.patch"



^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--





^ permalink  raw  reply  [nested|flat] 357+ messages in thread

* [PATCH 2/2] memory free simplify
@ 2026-07-05 12:10  Álvaro Herrera <alvherre@kurilemu.de>
  0 siblings, 0 replies; 357+ messages in thread

From: Álvaro Herrera @ 2026-07-05 12:10 UTC (permalink / raw)

---
 src/backend/utils/error/elog.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 80d4eef755a..7d229279dbe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2364,6 +2364,7 @@ bool
 check_log_min_messages(char **newval, void **extra, GucSource source)
 {
 	char	   *rawstring;
+	int			rawstring_len;
 	List	   *elemlist;
 	StringInfoData buf;
 	char	   *result;
@@ -2392,6 +2393,8 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		guc_free(rawstring);
 		return false;
 	}
+	rawstring_len = strlen(rawstring);
+	guc_free(rawstring);
 
 	/* Validate and assign log level and process type. */
 	foreach_ptr(char, elem, elemlist)
@@ -2478,7 +2481,6 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
 		continue;
 
 lmm_fail:
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2489,7 +2491,6 @@ lmm_fail:
 	if (defaultlevel == -1)
 	{
 		GUC_check_errdetail("Default log level was not defined.");
-		guc_free(rawstring);
 		list_free(elemlist);
 		return false;
 	}
@@ -2507,7 +2508,7 @@ lmm_fail:
 	 */
 	list_sort(elemlist, log_min_messages_cmp);
 
-	initStringInfoExt(&buf, strlen(rawstring) + 1);
+	initStringInfoExt(&buf, rawstring_len + 1);
 	foreach_ptr(char, elem, elemlist)
 	{
 		if (foreach_current_index(elem) == 0)
@@ -2515,6 +2516,7 @@ lmm_fail:
 		else
 			appendStringInfo(&buf, ", %s", elem);
 	}
+	list_free(elemlist);
 
 	result = guc_strdup(LOG, buf.data);
 	if (!result)
@@ -2526,8 +2528,6 @@ lmm_fail:
 	guc_free(*newval);
 	*newval = result;
 
-	guc_free(rawstring);
-	list_free(elemlist);
 	pfree(buf.data);
 
 	/*
-- 
2.47.3


--dnohjpfxulhc3bo3--






^ permalink  raw  reply  [nested|flat] 357+ messages in thread


end of thread, other threads:[~2026-07-05 12:10 UTC | newest]

Thread overview: 357+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2022-11-16 11:25 [PATCH v25 5/9] lfirst -> lfirst_node Alvaro Herrera <alvherre@alvh.no-ip.org>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>
2026-07-05 12:10 [PATCH 2/2] memory free simplify Álvaro Herrera <alvherre@kurilemu.de>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox