]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Handle oversize floating point values carefully when converting to integers
authordrh <drh@noemail.net>
Fri, 18 Jan 2019 17:53:50 +0000 (17:53 +0000)
committerdrh <drh@noemail.net>
Fri, 18 Jan 2019 17:53:50 +0000 (17:53 +0000)
for the '%' binary operator.

FossilOrigin-Name: 048add13fc10e69ae504a49c4663612381d928b2cf1f9cdab4ff34bd40f601a3

manifest
manifest.uuid
src/vdbe.c

index b33f7910261b4a2a3f533221f67c165872fc40c5..98deb1f9cd0c83816e30da637d5ed53247014bfd 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\sfairly\sobscure\sproblem\sallowing\san\s"ALTER\sTABLE\sRENAME\scol\sTO\s..."\sstatement\sto\smodify\sthe\sschema\sin\ssuch\sa\sway\sas\sto\sbreak\sa\sreference\swithin\sa\strigger\sprogram.
-D 2019-01-18T16:06:18.719
+C Handle\soversize\sfloating\spoint\svalues\scarefully\swhen\sconverting\sto\sintegers\nfor\sthe\s'%'\sbinary\soperator.
+D 2019-01-18T17:53:50.691
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F Makefile.in 2a9d0331ab57c68173a4c2fe9046fe89c4d916a888e04dd7a2d36958c2bff777
@@ -584,7 +584,7 @@ F src/upsert.c 0dd81b40206841814d46942a7337786932475f085716042d0cb2fc7791bf8ca4
 F src/utf.c 810fbfebe12359f10bc2a011520a6e10879ab2a163bcb26c74768eab82ea62a5
 F src/util.c 82a2e3f691a3b654be872e305dab1f455e565dedf5e6a90c818c1ab307c00432
 F src/vacuum.c a9f389f41556c0ec310bc9169dc9476603c30a0a913ad92bfbc75c86886967ca
-F src/vdbe.c 1919d490e97bfc59eab4d43444a53a6717d06137295ed684a25e5df7430d9974
+F src/vdbe.c 090d40c688b56b4602fb196a78e9d17213f381984258131c1e8f665636ca35ac
 F src/vdbe.h 712bca562eaed1c25506b9faf9680bdc75fc42e2f4a1cd518d883fa79c7a4237
 F src/vdbeInt.h a76d5eed62c76bcd8de7afd3147fac1bc40c5a870582664bcd7d071ef437c37f
 F src/vdbeapi.c 57a2d794a8833f269b878dbc24e955369bdb379af6c4e93ebc5ce1a20fa3daf4
@@ -1800,7 +1800,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 05df5f7aeaf2132810452e8871132d1e66650a841991cb2a9ce32f2d03e20bf4
-R f8fd80d19fb63224c47a5c696f5a7a57
-U dan
-Z 4f2ee8716e9e64841d044a5ee936a34b
+P 64bec9e6214c6932fab5a3fb8c569ae14cd2d603bd0f8b26104815c3bb9d396a
+R 23c489a2ae8dd47d8c5f4c714346499a
+U drh
+Z de4950d4f9709c315a07de45d8efeea5
index cfd314bedeca4eebcd51b79beffc2311a8ab812d..addd26dfcd06e57f09ff17f9cae33ca62bf26d6a 100644 (file)
@@ -1 +1 @@
-64bec9e6214c6932fab5a3fb8c569ae14cd2d603bd0f8b26104815c3bb9d396a
\ No newline at end of file
+048add13fc10e69ae504a49c4663612381d928b2cf1f9cdab4ff34bd40f601a3
\ No newline at end of file
index 82ab91e0e25969847a62ce41918a8dd8e1f65323..2c2b0ee27226f4c177e3855026c04dddbe85d50e 100644 (file)
@@ -1583,8 +1583,8 @@ fp_math:
         break;
       }
       default: {
-        iA = (i64)rA;
-        iB = (i64)rB;
+        iA = sqlite3VdbeIntValue(pIn1);
+        iB = sqlite3VdbeIntValue(pIn2);
         if( iA==0 ) goto arithmetic_result_is_null;
         if( iA==-1 ) iA = 1;
         rB = (double)(iB % iA);