]> 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:48:55 +0000 (14:48 +0000)
committerdrh <>
Sat, 7 Dec 2024 14:48:55 +0000 (14:48 +0000)
commit1a4b2117f11fba43ca892936df22681a7c496d46
treea88720f4f076e63b1919ff288ea2199957e50251
parentef636cc3cd72b2a7f5803777b95419b279baacab
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.  This problem was introduced by check-in [761d8fd18b0ee868]
and first appeared in version 3.47.0 and was reported by
[forum:/forumpost/569a7209179a7f5e|forum post 569a7209179a7f5e].  Fixed
by this check-in.

FossilOrigin-Name: 81342fa6dd03fffbe7d4d699ff049dcef4d30344578bb6f91cb58a4e5a4f6036
manifest
manifest.uuid
src/util.c
test/atof1.test