Handle oversize floating point values carefully when converting to integers
for the '%' binary operator. FossilOrigin-Name: 048add13fc10e69ae504a49c4663612381d928b2cf1f9cdab4ff34bd40f601a3
This commit is contained in:
@@ -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
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
64bec9e6214c6932fab5a3fb8c569ae14cd2d603bd0f8b26104815c3bb9d396a
|
||||
048add13fc10e69ae504a49c4663612381d928b2cf1f9cdab4ff34bd40f601a3
|
||||
+2
-2
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user