Commit Graph
5 Commits
Author SHA1 Message Date
Andy DixonandClaude Opus 5.5 b009ac3cbf AI codebase review
fix: cap snapshot node count relative to file size

The 64x decompressed-body limit still let an 804 KB crafted snapshot
(repeating blocks of records) expand to 4.2 M nodes and ~500 MB of
heap, ~600x amplification; larger files exhaust memory. LoadFile now
allows at most one node per byte of file (1 Mi floor); real snapshots
use ~15 bytes per node. Limit errors on the node count are no longer
misreported as "no root node".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 11:01:30 +01:00
Andy Dixon f4ef12a0dd Fix review findings: hostile snapshots, stale async results, trash safety
- snapshot: depth limit (stack overflow in exporters), decompressed-size
  limit (gzip bombs), per-node size cap and saturating aggregation
- export: sanitise exclusion patterns from snapshot metadata
- tui: drop duplicate/trash/filter results that belong to a replaced
  tree; cancel duplicate search on rescan
- trash: refuse symlinked or foreign shared-filesystem trash dirs; never
  overwrite an existing trashed item
- scan: no symlink following without inode identity; correct unscanned
  count and keep real read errors after cancellation
2026-10-02 08:46:52 +01:00
Andy Dixon 2d72e5b32e Document 16-colour mapping 2026-10-02 08:39:14 +01:00
Andy Dixon b771a57bc4 Add performance measurements, trash test and documentation 2026-10-02 08:31:42 +01:00
Andy Dixon 8feaf44a2a Initial Go project structure, docs, build and CI 2026-10-02 08:02:32 +01:00