1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-09 14:21:03 +03:00

Adjustment to an extreme corner case in the sqlite3Atoi64() routine.

FossilOrigin-Name: 39534b4baa53b9360696a9d5ee8cc2108af34592
This commit is contained in:
drh
2013-03-28 11:40:14 +00:00
parent 4b11bad358
commit 12886632c6
3 changed files with 8 additions and 8 deletions

View File

@@ -520,7 +520,7 @@ int sqlite3Atoi64(const char *zNum, i64 *pNum, int length, u8 enc){
testcase( i==18 );
testcase( i==19 );
testcase( i==20 );
if( (c+nonNum!=0 && &zNum[i]<zEnd) || (i==0 && zStart==zNum) || i>19*incr ){
if( (c!=0 && &zNum[i]<zEnd) || (i==0 && zStart==zNum) || i>19*incr || nonNum ){
/* zNum is empty or contains non-numeric text or is longer
** than 19 digits (thus guaranteeing that it is too large) */
return 1;