diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 1999-06-17 22:21:41 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 1999-06-17 22:21:41 +0000 |
commit | 5f74d499bfc07c43f44d0989aab6b23c6b5bfbb0 (patch) | |
tree | 235f522a4c20f8acfcb04ec73883631607c12ce0 /src/backend/parser/parse_target.c | |
parent | 4c6538259659b6325da5205005846162c78fd593 (diff) | |
download | postgresql-5f74d499bfc07c43f44d0989aab6b23c6b5bfbb0.tar.gz postgresql-5f74d499bfc07c43f44d0989aab6b23c6b5bfbb0.zip |
Defend against function calls with more than 8 arguments (code
used to overrun its fixed-size arrays before detecting error; not cool).
Also, replace uses of magic constant '8' with 'MAXFARGS'.
Diffstat (limited to 'src/backend/parser/parse_target.c')
-rw-r--r-- | src/backend/parser/parse_target.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/parser/parse_target.c b/src/backend/parser/parse_target.c index 563a48e1b4e..09f624fc760 100644 --- a/src/backend/parser/parse_target.c +++ b/src/backend/parser/parse_target.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.41 1999/05/29 03:17:20 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.42 1999/06/17 22:21:41 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -712,7 +712,7 @@ SizeTargetExpr(ParseState *pstate, int i; HeapTuple ftup; char *funcname; - Oid oid_array[8]; + Oid oid_array[MAXFARGS]; FuncCall *func; A_Const *cons; @@ -720,7 +720,7 @@ SizeTargetExpr(ParseState *pstate, funcname = typeidTypeName(attrtype); oid_array[0] = attrtype; oid_array[1] = INT4OID; - for (i = 2; i < 8; i++) + for (i = 2; i < MAXFARGS; i++) oid_array[i] = InvalidOid; /* attempt to find with arguments exactly as specified... */ |