mirror of
https://github.com/postgres/postgres.git
synced 2026-04-21 14:19:26 -04:00
Lexer defended us against overlength plain identifiers, but not against
overlength quoted identifiers. Death and destruction ensue...
This commit is contained in:
parent
490c151237
commit
30d17f3195
1 changed files with 8 additions and 1 deletions
|
|
@ -9,7 +9,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.68 2000/03/18 18:03:09 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.68.2.1 2000/06/01 22:23:10 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -42,6 +42,7 @@ static char *parseCh;
|
|||
/* set up my input handler --- need one flavor for flex, one for lex */
|
||||
#if defined(FLEX_SCANNER)
|
||||
|
||||
#define YY_NEVER_INTERACTIVE 1
|
||||
#define YY_NO_UNPUT
|
||||
static int myinput(char* buf, int max);
|
||||
#undef YY_INPUT
|
||||
|
|
@ -325,6 +326,12 @@ other .
|
|||
}
|
||||
<xd>{xdstop} {
|
||||
BEGIN(INITIAL);
|
||||
if (strlen(literalbuf) >= NAMEDATALEN)
|
||||
{
|
||||
elog(NOTICE, "identifier \"%s\" will be truncated to \"%.*s\"",
|
||||
literalbuf, NAMEDATALEN-1, literalbuf);
|
||||
literalbuf[NAMEDATALEN-1] = '\0';
|
||||
}
|
||||
yylval.str = pstrdup(literalbuf);
|
||||
return IDENT;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue