summaryrefslogtreecommitdiff
path: root/src/pl/plpgsql
diff options
context:
space:
mode:
authorTom Lane2015-02-21 06:46:43 +0000
committerTom Lane2015-02-21 06:46:43 +0000
commitf2874feb7c4e71200539c0287544eeebd8fcb3d4 (patch)
tree27c53b200f890ce2d568cd12674f93644678e3eb /src/pl/plpgsql
parent33b2a2c97f3dd4cf8bbc2c020e34129886367b72 (diff)
Some more FLEXIBLE_ARRAY_MEMBER fixes.
Diffstat (limited to 'src/pl/plpgsql')
-rw-r--r--src/pl/plpgsql/src/pl_funcs.c2
-rw-r--r--src/pl/plpgsql/src/plpgsql.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/pl/plpgsql/src/pl_funcs.c b/src/pl/plpgsql/src/pl_funcs.c
index 1dcea731e99..b6023cc0144 100644
--- a/src/pl/plpgsql/src/pl_funcs.c
+++ b/src/pl/plpgsql/src/pl_funcs.c
@@ -97,7 +97,7 @@ plpgsql_ns_additem(int itemtype, int itemno, const char *name)
/* first item added must be a label */
Assert(ns_top != NULL || itemtype == PLPGSQL_NSTYPE_LABEL);
- nse = palloc(sizeof(PLpgSQL_nsitem) + strlen(name));
+ nse = palloc(offsetof(PLpgSQL_nsitem, name) +strlen(name) + 1);
nse->itemtype = itemtype;
nse->itemno = itemno;
nse->prev = ns_top;
diff --git a/src/pl/plpgsql/src/plpgsql.h b/src/pl/plpgsql/src/plpgsql.h
index 00f2f773a29..337b98980af 100644
--- a/src/pl/plpgsql/src/plpgsql.h
+++ b/src/pl/plpgsql/src/plpgsql.h
@@ -329,7 +329,7 @@ typedef struct PLpgSQL_nsitem
int itemtype;
int itemno;
struct PLpgSQL_nsitem *prev;
- char name[1]; /* actually, as long as needed */
+ char name[FLEXIBLE_ARRAY_MEMBER]; /* nul-terminated string */
} PLpgSQL_nsitem;