fix(scan): pas 32 MiB-deckgrens toe vóór scanPresentations leest (#1048) #1075
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!1075
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/scan-deck-size-cap-1048"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Wat
scanPresentationslas ieder markdownbestand eerst volledig metreadAsStringen gaf de string alscontentaanopenDeck, dat in dat pad de 32 MiB-bestandsgrens oversloeg. Eén enorm.mdwerd zo volledig ingelezen vóór weigering, en veel geldige decks konden samen gigabytes strings in geheugen houden.Fix (acceptatie #1048)
maxDeckMarkdownBytes(32 MiB) overgeslagen zonder ooit gelezen te worden.openDeckDetailedweigert nu ookcontentboven de grens (conservatieve O(1)-check op UTF-16 code-units).maxScanBytes(256 MiB); de walk stopt zodra de bewaarde bronnen dat budget zouden overschrijden, net als de bestaandemaxFilesVisited-afkap.De grenzen zijn als top-level helpers (
_scanOneFile,_providedContentOverCap) geplaatst zodat het klasseplafond niet sneuvelt.Tests
Regressietests in
test/file_service_extra_test.dart(eerst rood tegen de onherstelde code):contentwordt geweigerd.Poort
make checkgroen (7838 tests, coverage 87,5%),make check-secretsenmake sastschoon.Bewaker-stap bewust overgeslagen: raakt formaat/opslag/afhankelijkheid/uitgaand verkeer/publieke belofte niet — puur interne geheugenbegrenzing.
Lost #1048 op.
🤖 Generated with Claude Code