Backpatch fix for buffer overrun in parsing refcursor parameters to

REL7_2_STABLE.
This commit is contained in:
Neil Conway 2005-01-27 01:52:34 +00:00
parent 13fab5b3ad
commit 9eeeb9809e

View File

@ -4,7 +4,7 @@
* procedural language * procedural language
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.29.2.1 2002/05/21 18:50:18 tgl Exp $ * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.29.2.2 2005/01/27 01:52:34 neilc Exp $
* *
* This software is copyrighted by Jan Wieck - Hamburg. * This software is copyrighted by Jan Wieck - Hamburg.
* *
@ -476,6 +476,10 @@ decl_cursor_arglist : decl_cursor_arg
{ {
int i = $1->nfields++; int i = $1->nfields++;
/* Guard against overflowing the array on malicious input */
if (i >= 1024)
yyerror("too many parameters specified for refcursor");
$1->fieldnames[i] = $3->refname; $1->fieldnames[i] = $3->refname;
$1->varnos[i] = $3->varno; $1->varnos[i] = $3->varno;