pi-hole / FTL

The Pi-hole FTL engine
https://pi-hole.net
Other
1.34k stars 187 forks source link

Update embedded SQLite3 to 3.45.1 #1869

Closed DL6ER closed 4 months ago

DL6ER commented 5 months ago

What does this implement/fix?

CHANGELOG

  1. Restore the JSON BLOB input bug, and promise to support the anomaly in subsequent releases, for backward compatibility.
  2. Fix the PRAGMA integrity_check command so that it works on read-only databases that contain FTS3 and FTS5 tables. This resolves an issue introduced in version 3.44.0 but was undiscovered until after the 3.45.0 release.
  3. Fix issues associated with processing corrupt JSONB inputs:
    1. Prevent exponential runtime when converting a corrupt JSONB into text.
    2. Fix a possible read of one byte past the end of the JSONB blob when converting a corrupt JSONB into text.
    3. Enhanced testing using jfuzz to prevent any future JSONB problems such as the above.
  4. Fix a long-standing bug in which a read of a few bytes past the end of a memory-mapped segment might occur when accessing a craftily corrupted database using memory-mapped database.
  5. Fix a long-standing bug in which a NULL pointer dereference might occur in the bytecode engine due to incorrect bytecode being generated for a class of SQL statements that are deliberately designed to stress the query planner but which are otherwise pointless.

Related issue or feature (if applicable): N/A

Pull request in docs with documentation (if applicable): N/A


By submitting this pull request, I confirm the following:

  1. I have read and understood the contributors guide, as well as this entire template. I understand which branch to base my commits and Pull Requests against.
  2. I have commented my proposed changes within the code.
  3. I am willing to help maintain this change if there are issues with it later.
  4. It is compatible with the EUPL 1.2 license
  5. I have squashed any insignificant commits. (git rebase)

Checklist: