postgres.git / summary / log / commit / refs
commit 31c36102cab914f6664ee2db20c7732aeb51a02b
Author: Bruce Momjian <bruce@momjian.us>
Date: Mon Mar 30 17:15:26 1998 +0000
First released in: 6.3.2
The buffer overrun while creating sequences turns out to be a read
access overrun. For the sake of doing things properly here is a
patch which fixes it.
This patch is for the file backend/commands/sequence.c.
Maurice Gittens
src/backend/commands/sequence.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c
index 8313d15c651..b19879b9472 100644
--- a/src/backend/commands/sequence.c
+++ b/src/backend/commands/sequence.c
@@ -85,6 +85,7 @@ DefineSequence(CreateSeqStmt *seq)
Datum value[SEQ_COL_LASTCOL];
char null[SEQ_COL_LASTCOL];
int i;
+ NameData name;
/* Check and set values */
init_params(seq, &new);
@@ -110,7 +111,8 @@ DefineSequence(CreateSeqStmt *seq)
case SEQ_COL_NAME:
typnam->name = "name";
coldef->colname = "sequence_name";
- value[i - 1] = PointerGetDatum(seq->seqname);
+ namestrcpy(&name, seq->seqname);
+ value[i - 1] = NameGetDatum(&name);
break;
case SEQ_COL_LASTVAL:
typnam->name = "int4";
[parent: 9a0dd4fb1839]