Commit ea650fc
committed
cross_image_contamination: do not trust --resume for --apply
A completed 23-finding report came back 0 findings / 0 scanned after a
`--resume --apply`, and no stamps landed. The obvious cause -- prior findings not
carried forward -- was found, fixed and regression-tested BEFORE that run
(73798f6), and the run still produced an empty file. So the real cause is not
established. A killed-but-surviving child from an earlier run racing the same
path is a candidate; no such process was found afterwards, which neither confirms
nor rules it out.
What matters is the failure MODE, which is understood even though the cause is
not: --resume writes its merged result back over the same --json it read, so any
defect anywhere in that path destroys the report it exists to preserve, silently
and with exit 0.
Documented accordingly rather than papered over: to stamp a binary, do a FRESH
scan with --apply in one pass. It costs a full re-scan and cannot eat a good
report. If you must resume, write to a DIFFERENT --json than the one you read.
Not removing --resume: an interrupted 3,500-function sweep is a real problem it
really solves. But an unexplained data-loss path does not get to stay
undocumented while I keep using it.1 parent 73798f6 commit ea650fc
1 file changed
Lines changed: 17 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
76 | | - | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
77 | 89 | | |
78 | 90 | | |
79 | 91 | | |
| |||
463 | 475 | | |
464 | 476 | | |
465 | 477 | | |
466 | | - | |
| 478 | + | |
467 | 479 | | |
468 | | - | |
| 480 | + | |
| 481 | + | |
469 | 482 | | |
470 | 483 | | |
471 | 484 | | |
| |||
0 commit comments