Skip to content

Let fuzz scripts set a VFS chunk size and flag all-zero salts - #52

Merged
LucaCappelletti94 merged 1 commit into
mainfrom
upstream/zero-salt-fuzz-chunk-size
Nov 7, 2026
Merged

LucaCappelletti94 merged 1 commit into
mainfrom
upstream/zero-salt-fuzz-chunk-size

Conversation

@LucaCappelletti94

Copy link
Copy Markdown
Owner

The fuzz VFS answered every file control with SQLITE_NOTFOUND, so it never grew a file on SQLITE_FCNTL_SIZE_HINT and the salt oracle never saw the all-zero salt SQLCipher 4.20.0 gives a new database whose file was preallocated before page 1 was written. The VFS now keeps a chunk size per handle and grows and truncates to it the way the unix VFS does, and a new script op sets one. The salt oracle also aborts on an all-zero salt outright, so one database is enough to catch it, and it skips a page 1 the codec never wrote, which a preallocated chunk can leave behind after a failed write.

The fix is sqlcipher/sqlcipher#633, still open against prerelease. Like the sqlcipher#623 entry, a known-defect entry keeps the op off every line but prerelease, so PR fuzzing on the release never meets the crash and batch fuzzing on prerelease reports it until #633 merges. The entry goes away once a release carries the fix.

@coderabbitai

coderabbitai Bot commented Nov 7, 2026 •

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Central YAML; Path: .coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 50ec17a1-d143-448a-88d8-fddb2e45b26b
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@codecov

codecov Bot commented Nov 7, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (93b6ca2) to head (b2d0eec).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #52   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            1         1           
  Lines            3         3           
  Branches         3         3           
=========================================
  Hits             3         3           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@LucaCappelletti94
LucaCappelletti94 force-pushed the upstream/zero-salt-fuzz-chunk-size branch from 7d7c16b to b2d0eec Compare November 7, 2026 09:15
@LucaCappelletti94
LucaCappelletti94 merged commit ddeafdd into main Nov 7, 2026
27 of 30 checks passed
@LucaCappelletti94
LucaCappelletti94 deleted the upstream/zero-salt-fuzz-chunk-size branch November 7, 2026 09:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant