]> git.ipfire.org Git - thirdparty/sqlite.git/commit
On x64 hardware, round-trip uint64_t→double→uint64_t conversions
authordrh <>
Sat, 7 Dec 2024 14:51:32 +0000 (14:51 +0000)
committerdrh <>
Sat, 7 Dec 2024 14:51:32 +0000 (14:51 +0000)
commit9a78d4724a53543b9322f530ef7d822b72243a5c
tree73f113e17922bc0d2b9c5297751ff4b76413f462
parentfb90add461f253e375d73cdfc58b1d2adb2ed258
On x64 hardware, round-trip uint64_t&rarr;double&rarr;uint64_t conversions
fail for values greater than UINT64_MAX-2047.  This caused the SQLite
text-to-float converter routine to give incorrect results for values
between '1.8446744073709550592eNNN' and '1.8446744073709551609eNNN' for any
exponent NNN. Fixed by this check-in.

FossilOrigin-Name: 17537a98cb31ab41f0e02a8403b1480f8d86ddbfc263fd766e73b6b5a7dbba2f
manifest
manifest.uuid
src/util.c
test/atof1.test