correct computation for limit in 'getnum'

This commit is contained in:
Roberto Ierusalimschy 2014-12-11 12:03:07 -02:00
parent ef7d29c666
commit 57e91b4159
1 changed files with 3 additions and 3 deletions

View File

@ -1,5 +1,5 @@
/* /*
** $Id: lstrlib.c,v 1.219 2014/12/10 11:36:03 roberto Exp roberto $ ** $Id: lstrlib.c,v 1.220 2014/12/11 13:40:40 roberto Exp roberto $
** Standard library for string operations and pattern-matching ** Standard library for string operations and pattern-matching
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@ -1034,8 +1034,8 @@ static int getnum (const char **fmt, int df) {
else { else {
int a = 0; int a = 0;
do { do {
a = a*10 + *((*fmt)++) - '0'; a = a*10 + (*((*fmt)++) - '0');
} while (digit(**fmt) && a < ((int)MAXSIZE/10 - 10)); } while (digit(**fmt) && a <= ((int)MAXSIZE - 9)/10);
return a; return a;
} }
} }