From: drh Date: Fri, 9 Oct 2015 20:40:44 +0000 (+0000) Subject: The previous fix to JSON1 was not complete. A few more tweaks are needed X-Git-Tag: version-3.9.0~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a0882fad7c02f183292998f2a99a72af2327c807;p=thirdparty%2Fsqlite.git The previous fix to JSON1 was not complete. A few more tweaks are needed for correct handling of all oversized integers. FossilOrigin-Name: 4a47f0177851721cdf6c981df962b6e8862372e7 --- diff --git a/ext/misc/json1.c b/ext/misc/json1.c index 2962df25e4..fa36419cfc 100644 --- a/ext/misc/json1.c +++ b/ext/misc/json1.c @@ -28,7 +28,7 @@ SQLITE_EXTENSION_INIT1 #include #include -#include +#include /* amalgamator: keep */ #include #include @@ -490,6 +490,7 @@ static void jsonReturn( while( z[0]>='0' && z[0]<='9' ){ unsigned v = *(z++) - '0'; if( i>=LARGEST_INT64/10 ){ + if( i>LARGEST_INT64/10 ) goto int_as_real; if( z[0]>='0' && z[0]<='9' ) goto int_as_real; if( v==9 ) goto int_as_real; if( v==8 ){ diff --git a/manifest b/manifest index 306b4988c5..4d164613ab 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sthe\sJSON1\sextension\sso\sthat\sit\srenders\sintegers\soutside\sthe\srange\nof\s-9223372036854775808\sto\s+9223372036854775807\sas\sfloating-point\snumbers. -D 2015-10-09T18:21:43.153 +C The\sprevious\sfix\sto\sJSON1\swas\snot\scomplete.\s\sA\sfew\smore\stweaks\sare\sneeded\nfor\scorrect\shandling\sof\sall\soversized\sintegers. +D 2015-10-09T20:40:44.669 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in f0088ff0d2ac949fce6de7c00f13a99ac5bdb663 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -198,7 +198,7 @@ F ext/misc/eval.c f971962e92ebb8b0a4e6b62949463ee454d88fa2 F ext/misc/fileio.c d4171c815d6543a9edef8308aab2951413cd8d0f F ext/misc/fuzzer.c 4c84635c71c26cfa7c2e5848cf49fe2d2cfcd767 F ext/misc/ieee754.c b0362167289170627659e84173f5d2e8fee8566e -F ext/misc/json1.c 2b26b004bf6f3bf0a63b7967d06f9db41701db6e +F ext/misc/json1.c b169036ea45a6d47b56b6b4157c8b0eb60856107 F ext/misc/nextchar.c 35c8b8baacb96d92abbb34a83a997b797075b342 F ext/misc/percentile.c bcbee3c061b884eccb80e21651daaae8e1e43c63 F ext/misc/regexp.c af92cdaa5058fcec1451e49becc7ba44dba023dc @@ -1390,7 +1390,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P c1840639b8ce8314602cd2396a324de8fac98dbe -R 0a0d9dafaf6405334993e0ec52446217 +P ae736e35fb59c9aed33a8c805cf2ecdee528051f +R d3a3aa15755c918bcb3d0b2253f2a58f U drh -Z 3ad870ec9ba73f21ea47e4c129fbbfc2 +Z d6c45f3b0d0fc25a320efb8ad376e1dd diff --git a/manifest.uuid b/manifest.uuid index 0d52c70441..d9366b0f4a 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ae736e35fb59c9aed33a8c805cf2ecdee528051f \ No newline at end of file +4a47f0177851721cdf6c981df962b6e8862372e7 \ No newline at end of file