drh
43ab3c2a84
Fix an infinite loop that can occur in the unused, untested, and
...
unsupported ext/misc/btreeinfo.c extension if it is presented with
a corrupt database file.
[bugs:/forumpost/b43c44cc1c|Bug 2026-05-28T05:41:01Z].
FossilOrigin-Name: 646e9b49153ebd7e09e3ef72cc4f64fb685d0cfd8b158ef7d11d37c50c3f0b7e
2026-05-28 11:16:55 +00:00
dan
9b7ea5700b
Fix a problem with shell tool function analyze() and schema objects with name containing "%" characters.
...
FossilOrigin-Name: c6d5793d5d2212c979e2fe5eb12c3844bfc1f2029bd8d076fec030a04f6d4bb5
2026-05-28 11:12:29 +00:00
drh
da18b56b25
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.
[bugs:/forumpost/5da728247a|Bug 5da728247a].
FossilOrigin-Name: 51ebf0e04efcbe982e62f2228553700b8c1147a37c70fdfaa0e377184b3ac936
2026-05-21 13:37:15 +00:00
drh
4d3f3c7070
Security enhancements to the untested and unused fossildelta.c extension.
...
Bug reports [bugs:/forumpost/3ac3fe3d71|3ac3fe3d71] and
[bugs:/forumpost/e7e470b760|e7e470b760].
FossilOrigin-Name: 2d3fbbe421d3b0ad8fa08255fd30af7f2d947919ebb90fa9c9c4ee72ffd880b4
2026-05-19 11:15:33 +00:00
drh
bc94e5dbb6
Limit the size of input strings to the (disused) spellfix extension
...
to avoid excessive runtime and integer overflows.
[bugs:/forumpost/24a33e5d10|Bugs report 24a33e5d10].
FossilOrigin-Name: 4b16b80cf2e26c41f0828d65883145dc81c0987110c3f04a864cec43e7c418e5
2026-05-19 10:30:13 +00:00
drh
d0fd0cc2fa
Fix a NULL pointer dereference in the obscure (and unused) prefixes
...
extension, which I had forgotten even existed.
[bugs:/forumpost/24a33e5d10|Bug report 24a33e5d10].
FossilOrigin-Name: 4880adc053b0f21633936347fd5610e4338b15da39607d8ba5a6b32d1516e8cb
2026-05-18 23:58:14 +00:00
drh
657721fd32
Attempt to disable false-positive GCC compiler warning.
...
FossilOrigin-Name: e377b4d375f2ec64085d953e87739904bbbccf09d82db99fe0579368c985ca84
2026-05-12 11:47:01 +00:00
drh
993bc6b171
Improved detection of OOM in the regexp_bytecode() SQLite function
...
(available in debug builds only).
[forum:/forumpost/a3a10e1c7b5dd1d2|Forum post a3a10e1c7b5dd1d2].
FossilOrigin-Name: 172e8c35badadc3c5eb5065da8ed2161093a0adff0ecfb5b162f78a9fb55bb34
2026-05-09 13:16:18 +00:00
drh
86d1ef8bf7
Fix an integer truncation problem due to oversized inputs to the
...
approximate_match virtual table extension.
[forum:/info/625f687e4d25c392|Forum post 625f687e4d25c392].
FossilOrigin-Name: 2881e17cc030814b350ca371fd2fd2089d3ff2fcc4ea52654de8bc5c2fc95222
2026-05-09 12:41:23 +00:00
drh
e707e68420
Fix a corner-case floating-point rounding problem in the generate_series()
...
virtual table, introduced by [c113e31b818d1677] and reported by
[forum:/info/6e6cf9054bea2b1d|forum post 6e6cf9054bea2b1d].
FossilOrigin-Name: ff56785674ebeb1d4bab66ba0827956a2728c8c14419f933d40dc0152efbd4f5
2026-05-09 12:03:14 +00:00
drh
67d4e0226f
Fix harmless compiler warnings. Enhance the CLI prompt mechanism to make
...
it more easily reusable by other projects, and to add the /h, /H, and /u
escape sequences.
FossilOrigin-Name: 354ce4f5e2a86b621b2058a6372495a5919cf3dc88ce1ed3637642f720c48002
2026-04-23 20:13:14 +00:00
drh
4ebed2a4e5
Fix an off-by-one buffer size calculation in the decimal.c extension.
...
FossilOrigin-Name: 24df42104d5fd1cf974f2bf539fa7515808e21e68d64899c39f5fcf3bee49a48
2026-04-21 16:07:15 +00:00
drh
63984b6ab7
Fix the fileio extension for Windows builds so that it does not depend on
...
the sqlite3_win32_utf8_to_unicode() and sqlite3_win32_unicode_to_utf()
routines that are found in the SQLite core.
[forum:/forumpost/2026-04-20T02:02:56Z|Forum post 2026-04-20T02:02:56Z].
FossilOrigin-Name: fe0414a9a3caf6af67f53a5f3534efd5d4bf4978ebce1c591ef62d6961e55701
2026-04-20 10:28:19 +00:00
drh
a2116f86b0
The sqlite3_str_new() interface never returns NULL, even after an OOM.
...
Code that uses that interface should invoke sqlite3_str_errcode() to see
if an OOM has occurred.
FossilOrigin-Name: cb910047edc591102dd4ed0d57c863b366981b8aa1d3085d5f95b1fbbabf6c31
2026-04-15 14:41:25 +00:00
drh
ade9289540
Improve the analyze() extension so that it returns a simple error message
...
as text (it does not throw an error) if the database is empty or is "temp"
or does not exist.
FossilOrigin-Name: 35379f60922f14d4f6d231ae627df066ad4e4510208bcc244505b9afb279f2fa
2026-04-15 12:47:37 +00:00
drh
dfba4eb34a
Fix harmless compiler warnings seen by MSVC in the previous check-in.
...
Also add ext/misc/analyze.c to the makefile dependencies for the CLI.
FossilOrigin-Name: 5a0ee6e227042e41ac64869c75f961798b252458670c18662175fe5bfa8b87d3
2026-04-15 12:35:23 +00:00
drh
c8d866294b
Add the .dbstat command to the CLI.
...
FossilOrigin-Name: fdba76df2b3a5b4d56ba79f80fd8b16d5faebca1fb07a266262be2ea635e6f94
2026-04-15 11:41:50 +00:00
drh
9efde40a5d
Compute the average fanout for b-trees of depth 2 or more.
...
FossilOrigin-Name: 2f8598bb09f32100f22dd1d9465f3fa0f7f8d81f5d67c34de9919708345f090b
2026-04-15 10:49:14 +00:00
drh
09f37099a7
Code simplifications. Return NULL is the specified SCHEMA does not exist.
...
FossilOrigin-Name: 953969c88149ea2f589942b98a0a96d907956319e5aa09e2d5a3ae76d3e7d70a
2026-04-14 23:19:02 +00:00
drh
d962afef2d
Various minor tweaks and refinements to the analyze() function.
...
FossilOrigin-Name: 48d94e72eaec443011dd1f7a7264e5222c05bb515c84deaf20ed4195b74d45ff
2026-04-14 20:07:29 +00:00
drh
395ac6c1bc
Implementation of the analyze() SQL function is now mostly complete.
...
FossilOrigin-Name: 1ca0386ab2df0d88ed52941469d459114f483ecf6b7e4691bcc32e909636cb7d
2026-04-14 19:36:33 +00:00
drh
e9d0bc6b68
Much, but not all, of the report generation is added. An incremental check-in.
...
FossilOrigin-Name: 289fefc3edfeecb06dc11897d3ff24763fd9e25db44e369eeec29b9ed3de5ccc
2026-04-14 19:02:40 +00:00
drh
34c2c8dc47
Further fixes and clarifications. Now ready to start generating the
...
actual report.
FossilOrigin-Name: 037a0e586c4aa81a53aea164080e739f9d5b87197d04fdd68feb0ab5eb01020b
2026-04-14 13:18:04 +00:00
drh
3f9df1f5fb
Further improvements to error messages and robustness.
...
FossilOrigin-Name: 45917c1124310fd77daca47865959d3261154f7b0c6771d3689e6d345a3fd153
2026-04-14 12:46:12 +00:00
drh
2eeac123c8
Improved error messages and robustness.
...
FossilOrigin-Name: c09ed9eb914bde96cdc5157e29b6384ce488262a2dadc7321c44941a1d08a187
2026-04-14 12:23:11 +00:00
drh
64a123a216
Initial prototype implementation of a new run-time loadable SQL function
...
to do approximately the same work as sqlite3_analyze.
FossilOrigin-Name: 03934b5a6c88a97117a4743a68ee36d30bcbdcebcf11342d30ac42daf9f10874
2026-04-14 11:25:22 +00:00
drh
34e139d3a3
Always use sqlite3_malloc64() in extensions, where possible.
...
FossilOrigin-Name: 6194f3b5314ef98b5d73060450de8e3497272494b47e6f96992453418894ded1
2026-04-01 16:56:48 +00:00
drh
f62cff6a9e
Fix harmless compiler warnings in the csv.c.
...
FossilOrigin-Name: 6ac701f89e2ac8dfd18d041eb8c36a0c2b9fedc5618d3a95be794aecce5c59cf
2026-03-20 20:35:21 +00:00
drh
08eb5e9e51
Continue enforcing the legacy declaration-before-statement C-language rule,
...
since some downstream still uses it.
FossilOrigin-Name: 5c237f1f863a32cf229010d2024d0d1e76a07a4d8b9492b26503b959f1c32485
2026-03-18 22:31:56 +00:00
drh
169f68ed88
Improved defenses against mischief.
...
FossilOrigin-Name: 8bdc0d485e3ad0c7a1e818da66f106951d496b05cbe61d12c2c448f2f24b6d5d
2026-03-11 14:43:29 +00:00
drh
140cbff0d2
Remove an obsolete pragraph from the header comment on the fileio.c extension.
...
FossilOrigin-Name: 17613b72f34162ce22864621c519e883930c9f51a0a86afbf30ce664f95d7be1
2026-03-09 14:04:34 +00:00
drh
016a0ebedc
Fix the completion.c TVF so that the xNext method reports errors it encounters
...
while running queries.
FossilOrigin-Name: eebcdcceef8a436e5fb1397cad6eb5bcf0722060fe1cd6acb26cdf1e86f07293
2026-03-08 19:31:40 +00:00
drh
456c7ea715
In the decimal.c extension, set a default MAX_DIGITS to 100 million.
...
Do not allow integer overflow of the N parameter to the internal
decimal_round() function.
FossilOrigin-Name: d0e23423d1bdd0482db4b74ef0fde2fbc2bbad02a7b92ba45a27ca57f4740e16
2026-03-08 18:50:35 +00:00
drh
b4f257f5e0
Fix another memory leak following OOM in the decimal extension.
...
FossilOrigin-Name: 414f6dbc09c2a3cf04ccdfd8f11eecb7ef781facff979ae4236a452913001391
2026-03-07 11:23:11 +00:00
drh
6142524b70
The optional SQLITE_DECIMAL_MAX_DIGIT compile-time option limits the
...
maximum number of digits that the decimal extension will operate on.
FossilOrigin-Name: 4214485b2fe4b95d9440008158d458b4b957a111f201965de1a518623589fd79
2026-03-07 02:36:39 +00:00
drh
3866d01907
Reenable the is_base85() extension function that was disabled
...
by [af18b68978ec9b1f].
FossilOrigin-Name: be07c16e3a7d28b95bea4b987a880d5b4b2b44d9a31ac5b48caa5b6c6dc5bec3
2026-03-07 00:14:36 +00:00
drh
02d9860c8e
Fix another NULL ptr deref following OOM in the sha1 extension.
...
FossilOrigin-Name: c4843e4cce71acb1e3743c45e0ee8cf62e91c39b57cec4f356bf7a4a10f81352
2026-03-07 00:10:34 +00:00
drh
7f6236bed1
Fix a NULL pointer dereference following OOM in the sha1 extension.
...
FossilOrigin-Name: 530b3f97ca4e8b1d263266855743b0d57d048104a6c3bed6c4d7958985767bc6
2026-03-07 00:03:47 +00:00
drh
56b571780e
Fix a NULL pointer dereference following OOM in the decimal extension.
...
FossilOrigin-Name: de37f30b2100e0c249e5c0853d6af90cd3c2069899747dcf0889e6a3d6b94061
2026-03-06 23:58:58 +00:00
drh
84334c941a
Fix a memory leak following OOM in the completion extension.
...
FossilOrigin-Name: ff5b1efbf80875a82b3707b56440551eb6f68a899ade27363bc62872fe46fd75
2026-03-06 23:56:03 +00:00
drh
8f65da4574
Fix a memory leak in the decimal extension that follows an OOM.
...
FossilOrigin-Name: 8d59e47e7ae0aae01cb25c6c054cf9a4d9651e858bc0dd1a0e2a013ec6579012
2026-03-06 23:37:45 +00:00
drh
1bf79ca445
Rename the initializer functions for base64() and base85() to include the
...
number at the end.
FossilOrigin-Name: af18b68978ec9b1ff732505bfb92bb65e4f7381b904123f42c638b747569fa28
2026-03-06 22:09:39 +00:00
drh
7c483444a1
Fix a NULL pointer dereference in the (undocumented) two-argument version
...
of the decimal() extension SQL function.
[forum:/forumpost/fa9c2dc83f|Forum post fa9c2dc83f].
FossilOrigin-Name: a0266351df8700383d50c2ef2d179dd82b0e0fd7fc70d05a91d5e4e845983b46
2026-03-06 21:31:07 +00:00
drh
7fa89ea907
Change some sqlite3_realloc() calls into sqlite3_realloc64().
...
FossilOrigin-Name: a391f5646926787fd9a004225ea406b61d20f282c852c0282fd26cada644b601
2026-03-02 15:06:59 +00:00
dan
33478099c9
Fix a possible 9-byte buffer overread in the zipfile extension hit when processing a corrupt zip file. Forum post [forum:/forumpost/721a05d2c5 | 721a05d2c5].
...
FossilOrigin-Name: 5db21813d126554d80db903be6d36ab6c1f73f9135a54af6dcfcfce0bcc18e68
2026-03-02 11:22:28 +00:00
drh
9235f9b049
Enhance the realpath() SQL function in the fileio.c extension
...
so that it works ever for pathnames that do not exist.
FossilOrigin-Name: 27a5735fb1e194d763ab9fdb933fad4f694fb2f8ad19205d17ac81caebd82548
2026-02-23 11:44:30 +00:00
drh
95fe5b9c38
Improved implementation of realpath() in the fileio.c extension that does not require
...
the last element of the path to actually exist.
FossilOrigin-Name: 4df4999484d9008d8af3c9c340810e0cf5f57161ba053ed5501276b450577039
2026-02-23 00:57:00 +00:00
drh
9bc017423c
Add the realpath() SQL function to the fileio.c extension. And clean up
...
the UTF8 handling on the Windows side of that extension while we are at it.
FossilOrigin-Name: 8bb8941930378b436f1353603be194644568b55fe347475be0caddddad40efa3
2026-02-22 20:44:52 +00:00
drh
f8681fb638
Fix a harmless warning in the decimal extension.
...
FossilOrigin-Name: f16c7c4000f2b992f7245dcaf669f13ed464579f8894f3c16842eebf41285c70
2026-02-21 20:20:06 +00:00
drh
62546d4b1f
In the decimal extension, an optional second argument to the
...
decimal() and decimal_exp() functions rounds the value to the
number of significant digits specified by that argument.
FossilOrigin-Name: cb24edf1afc3f9083a4963c5fe232933eccc7c0cb8872aa5fcd336d226b885ef
2026-02-20 16:21:58 +00:00