drh
fa5d2efbfc
Remove the untested and undocumented "scrub" utility program. It was written
...
in 2016, but made obsolete by the VACUUM INTO command in 2019.
FossilOrigin-Name: 20c458172e0b09f7ada7f8cb8be95450c3988e620cbf6f174470bf8e78dcfbf0
2026-05-30 10:15:58 +00:00
drh
c22fe7a31c
Be sure to do floating-point to text conversions in JSON to the full
...
17-digits.
FossilOrigin-Name: 9498dade8754909d6fadc8cdff44dafc7770d53a1984ba27a00317ecd7e2f3dd
2026-05-29 23:17:09 +00:00
drh
a15c394233
Fix potential integer overflow in btree overflow page cache computation.
...
FossilOrigin-Name: 093e23814e35f0cd0a4bded29b79ddecd7835626d9fe627bfbf4eb138403277f
2026-05-28 10:18:42 +00:00
drh
d38b6c0a19
Fix a potential 1-byte overread in sqlite3changeset_invert() when
...
processing a corrupt buffer.
FossilOrigin-Name: 69554ec4e8354e8573071bc423e2dbd0059058388481be3e76fcb7c0fc1ff467
2026-05-26 15:09:07 +00:00
drh
600eb440c2
Fix a 32-bit integer overflow in sqlite3changegroup_change_blob() that
...
could lead to a buffer overwrite.
FossilOrigin-Name: f2a8ae2251561f2255c2974914293647cf304c6db79de9da957755fccaf8a8b6
2026-05-26 14:23:36 +00:00
drh
e9b5658888
Fix QRF so that it works sensibly with "--wrap 1"
...
FossilOrigin-Name: 90eb6c22687449441824c7da5741a31e78bb78098c170382b230e851d03212c0
2026-05-26 13:57:36 +00:00
drh
e44fc2ba34
Strength the defense against malicious command-line arguments in the
...
sqlite3_rsync utility program.
FossilOrigin-Name: a8d18783fb2dbe9683bb6f3b57ebb3cc3ccf1e5afdd5e14786abf1e4e240f51a
2026-05-26 11:46:58 +00:00
drh
18bc656fe1
Fix HTML ">" quoting in QRF.
...
FossilOrigin-Name: f6b35a9b5fc38245414f1bea9bc3c81b57f774711e77ab32fb91c984370ed5e9
2026-05-25 23:47:05 +00:00
drh
2e6dc01ea7
Enhance the defenses against malformed JSONB in the jsonbPayloadSize()
...
routine.
FossilOrigin-Name: 73dfb252f86807464642037df6ec7353b5b52d8c447837c7c4a6540ec622f29d
2026-05-25 18:53:35 +00:00
drh
bf5c8d7d16
Fix a potential 1 byte overwrite that could occur when processing
...
a carefully crafted super-journal file.
FossilOrigin-Name: f654fa5ac938bb61d917fc33298052f5bd7a6e5e33b0539ac15cbd45bec023d3
2026-05-25 18:50:36 +00:00
drh
48aa50931a
Fix a potential buffer overwrite that could occur when in fts5 when handling corrupt records.
...
FossilOrigin-Name: 02733fc4bc27df64b50ca5027ac94fc643146efb24bb4fdbcc70c45e1c58c919
2026-05-25 17:23:58 +00:00
drh
9bb1173b4f
Fix the VFSes so that there is no 32-bit integer overflow in the
...
xShmMap method if the WAL file size exceeds about 25 terabytes, or
if the header is corrupted to make SQLite think that the WAL file size
is that big.
FossilOrigin-Name: 39a72dbe53c94be6784fa042cf093151eff43d67086449a4da975416adde120a
2026-05-21 15:27:55 +00:00
drh
2b6b982a77
Limit the length of inputs to the spellfix1_editdist() extension
...
function (not part of the standard SQLite build and rarely used)
to 99999 characters, to avoid any possibility of integer overflow.
FossilOrigin-Name: e56ac902fa4f1219d3affbe3ac9f822406a58486e456f0200a5d0f47fa4e5b43
2026-05-21 13:39:43 +00:00
drh
22bce652b3
A join constraint is not an equivalence unless both operands have the
...
same collation.
FossilOrigin-Name: 4247f48eec004c311cb046b1e97fbd44bc35d4b09e33c2b930dd3e1baabdb813
2026-05-21 13:06:04 +00:00
drh
c4a831733f
Fix a bug causing the session module to dereference a NULL pointer when applying a corrupt changeset.
...
FossilOrigin-Name: c813d9b777bedd58005b53d38fa3c235ca56bd57b76424cf9238c01a977a4b3d
2026-05-20 15:29:37 +00:00
drh
9f426fa956
Check-in [0d01c90bd7779192] was incomplete in that it did not remove
...
the incorrect assert() statement. Fixed here.
FossilOrigin-Name: 2e9bb51ae951c421f7e5ed8e55fd6dca8b7d4b8543fd3ba3a9e9f017592c028b
2026-05-20 11:59:36 +00:00
drh
18bdf31933
Avoid returning an SQLITE_SCHEMA error from within sqlite3session_diff() if the schema has been recently modified.
...
FossilOrigin-Name: 15fb7ffe4be49d5242c47bef1b3cad5c923cd7f500896058db4dd257bc7b3924
2026-05-20 11:56:17 +00:00
drh
2c6e131593
Increase the patch level to 3.53.2
...
FossilOrigin-Name: 076d214410fc8aba38c7ada60a985adc6773e51a13add19cbd07a91375b483fd
2026-05-20 10:04:04 +00:00
drh
f034bd10f0
Fix a potential buffer overread in fts5 that could occur when handling
...
corrupt records. Improved detection of corrupt fts5 records.
FossilOrigin-Name: fad98805b7d73abf0cf17919397ac50757a2b888354fcf42b72640a12f32926c
2026-05-20 10:01:25 +00:00
drh
0d8e4e27b7
Silently ignore nested porter tokenizers in FTS5. Having nested porter
...
tokenizers is pointless, but it does use stack space unnecessarily.
FossilOrigin-Name: 8207ca671e1253135e5e36cd123fdcfb4d1f0fcf939d2c94238425fafd38c75a
2026-05-20 09:36:42 +00:00
drh
dfc91368e7
Prevent integer overflow in the ICU extension.
...
FossilOrigin-Name: 42ef6f3f4fbe9fce3312259855df53d89e002adb0cf798c4aad074a8b7e988d5
2026-05-19 18:59:39 +00:00
drh
d75e0a89ad
Fix an assertion fault that can occur in RTree given a carefully
...
corrupted database.
FossilOrigin-Name: 0d01c90bd7779192f0541dfc43624f70241c45accf06ad43666310ec50e486d6
2026-05-19 18:47:37 +00:00
drh
0d56a90b3d
Early detection of attempts to overwrite an in-use cache page due
...
to database corruption.
FossilOrigin-Name: c37b0d93bf750ddad0b271c5f133320f754e5af73c0b68a3d19f9276e196d667
2026-05-19 15:24:00 +00:00
drh
62587d292b
Limit the size of input strings to the (disused) spellfix extension
...
to avoid excessive runtime and integer overflows.
FossilOrigin-Name: 2a8951b548a9408df300d238a9fea313268a30c322f0efc0b233bdd3e71a7f9d
2026-05-19 10:33:53 +00:00
drh
4e2383b65b
Fix a NULL pointer dereference in the obscure (and unused) prefixes
...
extension, which I had forgotten even existed.
FossilOrigin-Name: 24b8ecd17f70f222c40aa91382515a7d0d0b82c882498ae0714818d672806e7f
2026-05-19 10:30:29 +00:00
drh
0b223f1027
Fix an off-by-one error in matchinfo('b') for FTS3 when there are a large
...
number of columns.
FossilOrigin-Name: 9bf2f4ca8f3d0cce2ac0bf3742a04a83460d309bd8864bd414946d35106014a9
2026-05-18 23:42:58 +00:00
drh
83f261d5a0
Limit the NEAR span in FTS3 to 1 billion, to avoid integer overflow.
...
FossilOrigin-Name: 99ea33f48d2e3b0df6561c63814750bd848577df83eae9132e9ea0d009925838
2026-05-18 20:46:08 +00:00
drh
8d36080bd5
Prevent integer overflow due to database corruption in.
...
fts3auxNextMethod().
FossilOrigin-Name: aebf56a78d57b06079063fd008d56d1b4637c25de8cd5e5883ed8f8f63d42cca
2026-05-18 20:30:31 +00:00
drh
1cddaab5f9
When a subquery is an argument to an SQLITE_SUBTYPE function, then set
...
the EP_SubtArg flag on the result-set expressions of that subquery.
FossilOrigin-Name: d496e9320393d3c249a30499bd5c7278c9282a77416b5bbef3da175714d9284c
2026-05-18 19:46:38 +00:00
drh
a66d74e1de
Fix the window-function variant of the json_group_object() function so
...
that it correctly handles NULL entries.
FossilOrigin-Name: d29d9512a72972778c374524a3cd5d52a1377bf7fb7ff34028135146d75909b8
2026-05-18 17:58:30 +00:00
drh
574d888a10
Do not attempt the OR-optimization on conjuncts that contain COLLATE
...
operators.
FossilOrigin-Name: 4c105d79010939bdb8cb0461c3926f80815d4f0213bc0206be76015218cb8125
2026-05-18 14:32:45 +00:00
drh
a523e20bba
Correction to the bugfix at [212c68249cc0e890] so that it works
...
for 2nd and subsequent terms of a row value.
FossilOrigin-Name: 49c9b80e52642b94f1fa0b50ecd33a96b98a8c28d1175ac2c490d22e8c1433ce
2026-05-18 12:12:06 +00:00
drh
3580d166e5
When two tables are joined by USING, the affinity and collating sequence of
...
the join column will be the same as one or the other of the columns in the
two tables (which are hopefully the same).
FossilOrigin-Name: 8096d548eb035afc94653303000cff2f63a4c996c1dd9bf6114c4299376088fc
2026-05-16 20:29:03 +00:00
drh
1e4ec59e3f
Fix false-negatives in the sqlite3ExprCanReturnSubtype() routine having
...
to do with CASE, CAST, and COLLATE expressions and the "+" no-op operator.
FossilOrigin-Name: 8eb07e92cfecb6f369206f71b42edad81d7eced0ca5576a13fd754eb7db16e55
2026-05-16 17:34:27 +00:00
drh
af24f5e21e
Have window functions sum(), total() and avg() correctly handle the obscure case where integer overflow occurs as part of the same step that adds the first real value to the running total. Fix for forum post [forum:ec538b04ce | ec538b04ce].
...
FossilOrigin-Name: eb95d18aee8ffb9a2550aadbecccaf43c0a5778973386da1196a46f645e04286
2026-05-16 17:09:12 +00:00
drh
7678510ff2
Have the sqlite_dbpage module correctly handle constraints of the form "WHERE pgno=$pgno" when $pgno is an integer that cannot be represented as a signed, 32-bit value.
...
FossilOrigin-Name: b6ce57f807297966f305d257e616f1c88a2f25c29f622249194b19d6fa014580
2026-05-16 16:08:03 +00:00
drh
066b667313
Prevent internal-use-only SQL functions from being used inside of a CHECK
...
constraint added using ALTER TABLE ADD CONSTRAINT.
FossilOrigin-Name: 6cb565fe20049a48619fa3c7995de30fd9e284cfacd1652465e1f9083daf2669
2026-05-11 14:47:45 +00:00
drh
e0b995b2a6
Fix potential buffer overwrite that could occur in fts5 when processing corrupt records.
...
FossilOrigin-Name: 061febcf41ca4872a0f407951e1507209daca7895122b909a7806c60b6e200c4
2026-05-11 12:00:19 +00:00
stephan
9db56a4935
In sqlite-config.tcl remove a reference to the platform name apple when checking for Mac platforms, relying on a check for darwin instead, analog to [b5c6cb13cff53f]. Resolves how DLL names are formulated on some systems.
...
FossilOrigin-Name: 640f2016ab06125ebc9756344f28093750defbedc6fad2894b0d02a12b585149
2026-05-09 15:07:27 +00:00
drh
a5ce91b319
Fix upward propagation of expression properties into row-value expressions.
...
FossilOrigin-Name: 5e639b7f15c1de773a83eccfeea67122616a62105299af41dd7c2df2ea74102c
2026-05-09 13:57:11 +00:00
drh
0268517163
Fix a corner-case floating-point rounding problem in the generate_series()
...
virtual table.
FossilOrigin-Name: 931119281252ba73693770ac301010a84eb9c2b06247b17e3252271163341ab0
2026-05-09 12:08:59 +00:00
drh
ccd445d76a
Version 3.53.1
...
FossilOrigin-Name: c88b22011a54b4f6fbd149e9f8e4de77658ce58143a1af0e3785e4e6475127e9
version-3.53.1
2026-05-05 10:34:17 +00:00
stephan
b14b7681f4
Fix a predicate which causes a false error in the OPFS SAHPool tests when building with SEE.
...
FossilOrigin-Name: 1d2f770713f9d75d0de923515f4cee8ff83e95826d77f049b7bb1fbfad042248
2026-05-05 08:12:37 +00:00
drh
55f2cf294f
When using the OR-optimization on a loop created by exists-to-join,
...
do the early-exit logic for the whole loop, not for each individual
OR branch.
FossilOrigin-Name: b827cdcb371d07cd4ffba4d3c7b404bece43fcc808db528b94a66bf77b6aab4f
2026-05-04 18:30:02 +00:00
drh
10305aa4a4
Fix a harmless compiler warning.
...
FossilOrigin-Name: 9957c3b907d66ed1b8afa3b71ba0ad23b2de3ec486e6232b58166fd3a410705a
2026-05-02 13:18:40 +00:00
drh
20847aca95
Harden the recovery extension against SQL injections coming from the
...
sqlite_schema table of the database being recovered.
FossilOrigin-Name: 555401fe048a51ecaed3ef672723b6ef8e1340c7028c11a17731abbc399bc078
2026-05-01 13:56:19 +00:00
drh
e64e95b437
Fix a crash that could occur if sqlite3_deserialize() was used to overwrite a database with an open transaction on it. Bug introduced by [fc42d31d6fca21ab] on 2018-03-07 and first released in version 3.23.0. This is not a vulnerability as an attacker that can exploit this already has the ability to execute arbitrary code. Forum post [forum:39134ba029 | 39134ba029].
...
FossilOrigin-Name: b7b0745d6def6b141c900884cd97f10f3afedcbfb4bd9ce2409ee2380a8602dd
2026-04-27 12:28:23 +00:00
drh
27e808ff2c
Feature detection fix for uint128 on RISCV 32-bit.
...
FossilOrigin-Name: e3f318bf52932460890333c6dcae352ab4b0c943d7be67734649eff1ff9fc9fc
2026-04-27 12:25:36 +00:00
stephan
0e4b46a649
Increase a stack-local buffer size to resolve a test regression introduced in [ff084ae341eab5c], in which some tests fail a pattern match check if their absolute file names are too long. Resolves [forum:205f73db1b2806f5|forum post 205f73db1b2806f5].
...
FossilOrigin-Name: 4eeb1f74f61589f115810bd2a6876dcec9e674a2baf686f3b5b25678695aa797
2026-04-27 12:07:31 +00:00
drh
2ba7864bc4
Fix a single-byte OOB read that could occur in the session module when concatenating patchsets.
...
FossilOrigin-Name: 5150cf9a89aebfd7121b4742c8b359116f16d890e83b64105bb192d3d0f68971
2026-04-25 15:04:21 +00:00