-
Notifications
You must be signed in to change notification settings - Fork 893
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensure that intermediate directories exist when unpacking an entry #1098
Conversation
@bors r+ Note though that we still cannot remove the directory entries from the tarballs produced by Rust, because they need to be compatible with older rustups. I'm not sure how long a suitable deprecation period is. |
📌 Commit 5ae90c4 has been approved by |
Update tar and use new safe unpacking function The `unpack_in` function automatically handles the creation of the directories and validates the path name, but it is only available since version 0.4.11 of the `tar` crate. This is the rustup side of fixing #1092.
Yes, I have no plans for removing them and the Rust port of rust-installer will keep them as well for the time being. Removing them was just convenient when sorting the paths. |
💔 Test failed - status-appveyor |
Legit errors. |
It is easier to fix without updating tar. Updated title and first post to get reasonable commit messages upon merging. |
The `unpack` function assumes that the directory in which the file is being extracted exists, while most `tar` tools will automatically create the intermediate directories if they are missing. This would have avoided rust-lang#1092.
@bors r+ I can imagine this repeated syscall wanting to be optimized someday, but today I'm not too worried. rustup generally needs to be optimized. |
📌 Commit ab40997 has been approved by |
Ensure that intermediate directories exist when unpacking an entry The `unpack` function assumes that the directory in which the file is being extracted exists, while most `tar` tools will automatically create the intermediate directories if they are missing. This would have avoided #1092.
💔 Test failed - status-appveyor |
Is the failure spurious? The non-merge AppVeyor build succeeded |
Yes - @bors r=brson retry |
💡 This pull request was already approved, no need to approve it again.
|
📌 Commit ab40997 has been approved by |
Ensure that intermediate directories exist when unpacking an entry The `unpack` function assumes that the directory in which the file is being extracted exists, while most `tar` tools will automatically create the intermediate directories if they are missing. This would have avoided #1092.
☀️ Test successful - status-appveyor, status-travis |
The
unpack
function assumes that the directory in which the file isbeing extracted exists, while most
tar
tools will automaticallycreate the intermediate directories if they are missing.
This would have avoided #1092.