Commit a9064f2
Skip drive-qualified archive entries instead of failing the restore
Extracting the entry check moved the join to a per-segment form, which
made `C:/evil.txt` slip through: it is not posix-absolute and carries no
`..`, so it became an ordinary segment and produced a path inside the
restore directory that Windows cannot create. Writing it threw an
uncaught FileSystemException and aborted the whole restore, where the
previous inline code simply skipped the entry.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent 033773a commit a9064f2
2 files changed
Lines changed: 22 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
558 | 558 | | |
559 | 559 | | |
560 | 560 | | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
561 | 570 | | |
562 | | - | |
| 571 | + | |
563 | 572 | | |
564 | 573 | | |
565 | 574 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
44 | 56 | | |
45 | 57 | | |
46 | 58 | | |
| |||
0 commit comments