]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Do not attempt to convert an oversized floating point value into an integer.
authordrh <>
Mon, 8 Aug 2022 12:19:13 +0000 (12:19 +0000)
committerdrh <>
Mon, 8 Aug 2022 12:19:13 +0000 (12:19 +0000)
FossilOrigin-Name: 6c4fc8385ee22516e0b87fb647327ee7d1a564040ebe2a4d66fc999ef2908df2

manifest
manifest.uuid
src/vdbe.c

index 5cc169bbdb34fbd71a232899e8f56f0324e2e111..f5ed72888cc3b46f508201d66507f02432c10e53 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\srounding\serror\scaused\sby\sscalar->logarithm->scalar\sconversion\swhen\susing\sstat4\sdata\sto\sestimate\ssome\srange\sscans.
-D 2022-08-06T15:28:37.948
+C Do\snot\sattempt\sto\sconvert\san\soversized\sfloating\spoint\svalue\sinto\san\sinteger.
+D 2022-08-08T12:19:13.235
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -642,7 +642,7 @@ F src/upsert.c 8789047a8f0a601ea42fa0256d1ba3190c13746b6ba940fe2d25643a7e991937
 F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
 F src/util.c 602fe229f32a96ceccae4f40824129669582096f7c355f53dbac156c9fecef23
 F src/vacuum.c bb346170b0b54c6683bba4a5983aea40485597fdf605c87ec8bc2e199fe88cd8
-F src/vdbe.c 796fbae3e989744ea3761c5ab8a23bec1764ff889d267d71666fcaa4aeb75a81
+F src/vdbe.c e0517ef4a599aa71dcc3875c558f0369790b7e048df8ed7b9993d24818a26ea3
 F src/vdbe.h 64619af62603dc3c4f5ff6ff6d2c8f389abd667a29ce6007ed44bd22b3211cd0
 F src/vdbeInt.h 2cad0aeeb106371ed0e0946bab89f60627087068847afc2451c05056961c18da
 F src/vdbeapi.c 4cfbf7ec3ed60366a38655f3f10316c5a3d68f6d4d06e462f88679392611c756
@@ -1981,8 +1981,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 98729c5fa6c4c418ca9779c35e6874c930e5cee5a90b5eb32b284a0f3762269e
-R 33e8f2d20ee794e5cf556ebabd2d9ca9
-U dan
-Z b5ab7076fb09a8652a3894b7ab774d07
+P 86e30d7c4bb1cebe25b66686d6d1ee170c1a88e5a6c1bed6652ebbb024d62062
+R cc38bc596bc6cfb7cf263b784bfa32d2
+U drh
+Z 1b3d5f93d9de8e10c30a689056160d79
 # Remove this line to create a well-formed Fossil manifest.
index 35773030c398b7ae8ce09c0e49139195c1ebfa70..30ca22856c51a69d8819bb5ebc0ef290c99ab6b4 100644 (file)
@@ -1 +1 @@
-86e30d7c4bb1cebe25b66686d6d1ee170c1a88e5a6c1bed6652ebbb024d62062
\ No newline at end of file
+6c4fc8385ee22516e0b87fb647327ee7d1a564040ebe2a4d66fc999ef2908df2
\ No newline at end of file
index 72dae088103c3737db06c527d86a3a4059c0706c..346d005fad30bf40216755054fd7cf63ee01d220 100644 (file)
@@ -314,7 +314,9 @@ static VdbeCursor *allocateCursor(
 ** return false.
 */
 static int alsoAnInt(Mem *pRec, double rValue, i64 *piValue){
-  i64 iValue = (double)rValue;
+  i64 iValue;
+  if( rValue>(double)LARGEST_INT64 || rValue<(double)SMALLEST_INT64 ) return 0;
+  iValue = (double)rValue;
   if( sqlite3RealSameAsInt(rValue,iValue) ){
     *piValue = iValue;
     return 1;