Skip to content
Snippets Groups Projects
Commit 30d17f31 authored by Tom Lane's avatar Tom Lane
Browse files

Lexer defended us against overlength plain identifiers, but not against

overlength quoted identifiers.  Death and destruction ensue...
parent 490c1512
No related branches found
No related tags found
No related merge requests found
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* *
* *
* IDENTIFICATION * 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; ...@@ -42,6 +42,7 @@ static char *parseCh;
/* set up my input handler --- need one flavor for flex, one for lex */ /* set up my input handler --- need one flavor for flex, one for lex */
#if defined(FLEX_SCANNER) #if defined(FLEX_SCANNER)
#define YY_NEVER_INTERACTIVE 1
#define YY_NO_UNPUT #define YY_NO_UNPUT
static int myinput(char* buf, int max); static int myinput(char* buf, int max);
#undef YY_INPUT #undef YY_INPUT
...@@ -325,6 +326,12 @@ other . ...@@ -325,6 +326,12 @@ other .
} }
<xd>{xdstop} { <xd>{xdstop} {
BEGIN(INITIAL); 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); yylval.str = pstrdup(literalbuf);
return IDENT; return IDENT;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment