-
Notifications
You must be signed in to change notification settings - Fork 130
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
Linux: Don't pass uninitialised memory as pointers to libc::connect() #27
Conversation
I don't know whether there are constellations where taking a reference to a binding containing mem::uninitialized() actually creates a proper NULL pointer -- but it certainly doesn't on my system when using the rustc snapshot from Servo. Either way, creating explicit NULL pointers seems way more correct. This fixes the other four testsuite failures, as well as servo -M
What testsuite failures are you referring to? |
All the tests using IpcOneShotServer are failing on my system without this fix -- including platform::test::server, platform::test::cross_process, platform::test::cross_process_sender_transfer, and test::cross_process_embedded_senders. (And servo -m accordingly also panics on IpcOneShotServer.) |
Would be nice if we could test this in automation. This looks correct from the manpage, though. @bors-servo r+ |
📌 Commit 30abbf5 has been approved by |
Linux: Don't pass uninitialised memory as pointers to libc::connect() I don't know whether there are constellations where taking a reference to a binding containing mem::uninitialized() actually creates a proper NULL pointer -- but it certainly doesn't on my system when using the rustc snapshot from Servo. Either way, creating explicit NULL pointers seems way more correct. This fixes the other four testsuite failures, as well as servo -M
💔 Test failed - travis |
And that's rust-lang/rust#30713 |
@bors-servo retry |
Linux: Don't pass uninitialised memory as pointers to libc::connect() I don't know whether there are constellations where taking a reference to a binding containing mem::uninitialized() actually creates a proper NULL pointer -- but it certainly doesn't on my system when using the rustc snapshot from Servo. Either way, creating explicit NULL pointers seems way more correct. This fixes the other four testsuite failures, as well as servo -M
💔 Test failed - travis |
Heh, now aster/quasi_codegen is broken, great |
@bors-servo: retry (serde-deprecated/quasi#29) |
Linux: Don't pass uninitialised memory as pointers to libc::connect() I don't know whether there are constellations where taking a reference to a binding containing mem::uninitialized() actually creates a proper NULL pointer -- but it certainly doesn't on my system when using the rustc snapshot from Servo. Either way, creating explicit NULL pointers seems way more correct. This fixes the other four testsuite failures, as well as servo -M
💔 Test failed - travis |
Dang it, not published yet |
@bors-servo retry |
Linux: Don't pass uninitialised memory as pointers to libc::connect() I don't know whether there are constellations where taking a reference to a binding containing mem::uninitialized() actually creates a proper NULL pointer -- but it certainly doesn't on my system when using the rustc snapshot from Servo. Either way, creating explicit NULL pointers seems way more correct. This fixes the other four testsuite failures, as well as servo -M
☀️ Test successful - travis |
\o/ |
This pulls in servo/ipc-channel#25 and servo/ipc-channel#27, thus fixing fallout from the multiprocess split, and making Servo work on my system again. (It also pulls in servo/ipc-channel#12 -- I guess that's fine?)
cargo-update ipc-channel to get important fixes This pulls in servo/ipc-channel#25 and servo/ipc-channel#27, thus fixing fallout from the multiprocess split, and making Servo work on my system again. (It also pulls in servo/ipc-channel#12 -- I guess that's fine?) <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9299) <!-- Reviewable:end -->
cargo-update ipc-channel to get important fixes This pulls in servo/ipc-channel#25 and servo/ipc-channel#27, thus fixing fallout from the multiprocess split, and making Servo work on my system again. (It also pulls in servo/ipc-channel#12 -- I guess that's fine?) <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9299) <!-- Reviewable:end -->
…(from antrik:update-ipc_channel); r=pcwalton This pulls in servo/ipc-channel#25 and servo/ipc-channel#27, thus fixing fallout from the multiprocess split, and making Servo work on my system again. (It also pulls in servo/ipc-channel#12 -- I guess that's fine?) Source-Repo: https://github.com/servo/servo Source-Revision: 42372dbdf112c1c2967c4487401b28e7305c2993 UltraBlame original commit: d16cecf007bc7760538afc4ec593b1d6580648f2
…(from antrik:update-ipc_channel); r=pcwalton This pulls in servo/ipc-channel#25 and servo/ipc-channel#27, thus fixing fallout from the multiprocess split, and making Servo work on my system again. (It also pulls in servo/ipc-channel#12 -- I guess that's fine?) Source-Repo: https://github.com/servo/servo Source-Revision: 42372dbdf112c1c2967c4487401b28e7305c2993 UltraBlame original commit: d16cecf007bc7760538afc4ec593b1d6580648f2
…(from antrik:update-ipc_channel); r=pcwalton This pulls in servo/ipc-channel#25 and servo/ipc-channel#27, thus fixing fallout from the multiprocess split, and making Servo work on my system again. (It also pulls in servo/ipc-channel#12 -- I guess that's fine?) Source-Repo: https://github.com/servo/servo Source-Revision: 42372dbdf112c1c2967c4487401b28e7305c2993 UltraBlame original commit: d16cecf007bc7760538afc4ec593b1d6580648f2
I don't know whether there are constellations where taking a reference
to a binding containing mem::uninitialized() actually creates a proper
NULL pointer -- but it certainly doesn't on my system when using the
rustc snapshot from Servo.
Either way, creating explicit NULL pointers seems way more correct.
This fixes the other four testsuite failures, as well as servo -M