postgres.git / summary / log / commit / refs
commit 00f2a2556c9b23050e4f987e5d563b6856b83fc2
Author: Amit Langote <amitlan@postgresql.org>
Date: Fri Jul 14 05:28:38 2023 +0000
First released in: 17.0, 16.0
Add missing initializations of p_perminfo
In a61b1f74823, we failed to update transformFromClauseItem() and
buildNSItemFromLists() to set ParseNamespaceItem.p_perminfo causing
it to point to garbage.
Pointed out by Tom Lane.
Reported-by: Farias de Oliveira <matheusfarias519@gmail.com>
Discussion: https://postgr.es/m/3173476.1689286373%40sss.pgh.pa.us
Backpatch-through: 16
src/backend/parser/parse_clause.c | 1 +
src/backend/parser/parse_relation.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/backend/parser/parse_clause.c b/src/backend/parser/parse_clause.c
index f61f7947552..334b9b42bd5 100644
--- a/src/backend/parser/parse_clause.c
+++ b/src/backend/parser/parse_clause.c
@@ -1573,6 +1573,7 @@ transformFromClauseItem(ParseState *pstate, Node *n,
jnsitem->p_names = j->join_using_alias;
jnsitem->p_rte = nsitem->p_rte;
jnsitem->p_rtindex = nsitem->p_rtindex;
+ jnsitem->p_perminfo = NULL;
/* no need to copy the first N columns, just use res_nscolumns */
jnsitem->p_nscolumns = res_nscolumns;
/* set default visibility flags; might get changed later */
diff --git a/src/backend/parser/parse_relation.c b/src/backend/parser/parse_relation.c
index 41d60494b97..864ea9b0d5d 100644
--- a/src/backend/parser/parse_relation.c
+++ b/src/backend/parser/parse_relation.c
@@ -1392,6 +1392,7 @@ buildNSItemFromLists(RangeTblEntry *rte, Index rtindex,
nsitem->p_names = rte->eref;
nsitem->p_rte = rte;
nsitem->p_rtindex = rtindex;
+ nsitem->p_perminfo = NULL;
nsitem->p_nscolumns = nscolumns;
/* set default visibility flags; might get changed later */
nsitem->p_rel_visible = true;
[parent: a0363ab7aafd]