From a11dec8c214b083884f5a79a4bd8ebb3a8b2a59a Mon Sep 17 00:00:00 2001
From: test <test>
Date: Tue, 9 Jun 2026 01:35:31 +0200
Subject: [PATCH v2 3/6] free lists in equivclasses

---
 src/backend/optimizer/path/equivclass.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/backend/optimizer/path/equivclass.c b/src/backend/optimizer/path/equivclass.c
index 32e169a70e8..7caa3defcc4 100644
--- a/src/backend/optimizer/path/equivclass.c
+++ b/src/backend/optimizer/path/equivclass.c
@@ -1823,6 +1823,10 @@ generate_join_implied_equalities_normal(PlannerInfo *root,
 		{
 			/* failed... */
 			ec->ec_broken = true;
+			list_free(result);
+			list_free(new_members);
+			list_free(inner_members);
+			list_free(outer_members);
 			return NIL;
 		}
 
@@ -1872,6 +1876,10 @@ generate_join_implied_equalities_normal(PlannerInfo *root,
 				{
 					/* failed... */
 					ec->ec_broken = true;
+					list_free(result);
+					list_free(new_members);
+					list_free(inner_members);
+					list_free(outer_members);
 					return NIL;
 				}
 				/* do NOT set parent_ec, this qual is not redundant! */
@@ -1885,6 +1893,10 @@ generate_join_implied_equalities_normal(PlannerInfo *root,
 		}
 	}
 
+	list_free(new_members);
+	list_free(inner_members);
+	list_free(outer_members);
+
 	return result;
 }
 
-- 
2.54.0

