Repository navigation
v1.4.1 — safety + data integrity hotfix
Hotfix from a multi-agent review. Fixes 8 issues, no new features.
Data integrity
- Failed edits no longer silently swallowed — UI now surfaces which patches were rejected and why
- Diff-then-Apply now respects in-progress edits instead of clobbering them with the original
- Save is now atomic: stages to .tmp then mv, so a mid-write crash leaves the original intact
Path safety
- Writes confined to /sdcard/Android/data// — no more arbitrary file targets through poisoned paths
- Reject control bytes / parent-dir traversal in any path argument
- Force-stop denylist for system / Play Store / Shizuku / banking app prefixes
Parser hardening (untrusted input)
- NRBF parser bounds BinaryArray iteration count, ArraySinglePrimitive byte length, varint length, lpString length
- Was: malicious save with rank=2 lengths=[2^30, 2^30] → 4-trillion-iteration loop. Now: parse error.
Reliability
- All shell calls drain stdout + stderr concurrently (was: chatty stderr could fill its 64KB pipe and deadlock the child)
- 64MB hard cap on file reads to prevent OOM
- Backup cache files set to owner-only read
Same install path as previous (sideload over).