bug(scan): pas de 32 MiB deckgrens toe vóór scanPresentations bestanden leest #1048

Closed
opened 2026-08-01 08:26:07 +00:00 by brenno · 2 comments
Owner

Context
scanPresentations leest ieder markdownbestand eerst volledig met readAsString en geeft de String daarna als content aan openDeck. In dat pad slaat openDeck de bestaande 32 MiB bestandsgroottecontrole over. De scan bewaart bovendien content én het geparseerde deck voor maximaal 5000 resultaten.

Impact
Eén enorm .md-bestand wordt volledig ingelezen vóór weigering. Veel geldige decks kunnen samen meerdere gigabytes strings en modellen in geheugen houden.

Relevante code

  • lib/services/file_service.dart:356 en 607

Acceptatie

  • Stat ieder bestand en pas maxDeckMarkdownBytes toe vóór readAsString.
  • Ook aangeleverde content krijgt een equivalente bytegrens.
  • Resultaten laden content/deck lui of vallen onder een cumulatief scanbudget.
  • Regressietests bewaken één oversized bestand en veel resultaten die samen het budget overschrijden.
Context scanPresentations leest ieder markdownbestand eerst volledig met readAsString en geeft de String daarna als content aan openDeck. In dat pad slaat openDeck de bestaande 32 MiB bestandsgroottecontrole over. De scan bewaart bovendien content én het geparseerde deck voor maximaal 5000 resultaten. Impact Eén enorm .md-bestand wordt volledig ingelezen vóór weigering. Veel geldige decks kunnen samen meerdere gigabytes strings en modellen in geheugen houden. Relevante code - lib/services/file_service.dart:356 en 607 Acceptatie - Stat ieder bestand en pas maxDeckMarkdownBytes toe vóór readAsString. - Ook aangeleverde content krijgt een equivalente bytegrens. - Resultaten laden content/deck lui of vallen onder een cumulatief scanbudget. - Regressietests bewaken één oversized bestand en veel resultaten die samen het budget overschrijden.
Author
Owner

Opgepakt op tak fix/scan-deck-size-cap-1048.

Opgepakt op tak `fix/scan-deck-size-cap-1048`.
Author
Owner

Opgelost in c1679f4d (PR #1075, squash-merge naar main). Stat-vóór-lezen met 32 MiB-grens per bestand, bytegrens op aangeleverde content in openDeck, en een cumulatief scanbudget (256 MiB) dat de walk afkapt. Regressietests dekken één oversized bestand, veel resultaten die samen het budget overschrijden, en oversized content. make check groen, secrets + SAST schoon.

Opgelost in c1679f4d (PR #1075, squash-merge naar main). Stat-vóór-lezen met 32 MiB-grens per bestand, bytegrens op aangeleverde content in openDeck, en een cumulatief scanbudget (256 MiB) dat de walk afkapt. Regressietests dekken één oversized bestand, veel resultaten die samen het budget overschrijden, en oversized content. make check groen, secrets + SAST schoon.
brenno 2026-08-01 13:17:26 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#1048
No description provided.