Skip to content

Commit d480061

Browse files
committed
Generate error on large integer.
1 parent 97b1bb2 commit d480061

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

src/backend/parser/scan.l

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.24 1997/10/15 01:12:21 thomas Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.25 1997/10/30 01:55:49 momjian Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -241,18 +241,23 @@ other .
241241
return (FCONST);
242242
}
243243
{integer} {
244+
char* endptr;
245+
246+
errno = 0;
244247
ScanString = pstrdup((char*)yytext);
245-
yylval.ival = atoi((char*)yytext);
248+
yylval.ival = strtol((char *)yytext,&endptr,10);
249+
if (*endptr != '\0' || errno == ERANGE)
250+
elog(WARN,"\tBad integer input format\n");
246251
return (ICONST);
247252
}
248253
{real} {
249254
char* endptr;
250255

251256
errno = 0;
252257
ScanString = pstrdup((char*)yytext);
253-
yylval.dval = strtod(((char *)yytext),&endptr);
258+
yylval.dval = strtod((char *)yytext,&endptr);
254259
if (*endptr != '\0' || errno == ERANGE)
255-
elog(WARN,"\tBad float8 input format\n");
260+
elog(WARN,"\tBad float input format\n");
256261
CheckFloat8Val(yylval.dval);
257262
return (FCONST);
258263
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy