-
Notifications
You must be signed in to change notification settings - Fork 167
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: bytecodealliance/rustix
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.36.15
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: bytecodealliance/rustix
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.36.17
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 9 commits
- 14 files changed
- 2 contributors
Commits on Oct 12, 2023
-
Merge pull request from GHSA-c827-hfw6-qwvm
* Fix `rustix::fs::Dir` to avoid unbounded buffer growth. Fix `Dir`'s buffer size computation to avoid resizing past a fixed upper limit. This prevents it from growing without bound, such as in the case of `Dir::rewind` for repeated iterations with the same `Dir`. * Don't let `Dir` continue to try to iterate after a failure. * Handle `io::Errno::INTR` gracefully. * Write a more detailed comment on the buffer growth policy. * Also mention that no buffer can ever be big enough for everything. * Add tests against over-allocation & stuck iterator * Rm `dir_iterator_does_not_overallocate` unit test in favour of docs * Extend `test_dir` to cover `rewind`. * Consistently handle directory removal as ending the stream. libc implementations of directory iteration handle directory removal by just ending the stream. In the linux_raw backend, this looks like `ENOENT` from `getdents64`, so change the code to check for `ENOENT` and end the stream. This requires changing the `dir_iterator_does_not_get_stuck_on_io_error` test to no longer expect a failure, so it's now renamed to `dir_iterator_handles_dir_removal`. To test the error case, add a new `dir_iterator_handles_io_errors` test which uses `dup2` to induce an error, in both the linux_raw and libc backends. This exposes the fact that the libc `Dir` implementation was also assuming that users would stop iterating after hitting a failure, so add a `any_errors` flag to the libc backend as well. * Add a test for removing the directory after doing `read_from`. * In the libc backend, handle `ENOENT` when opening ".". --------- Co-authored-by: cyqsimon <28627918+cyqsimon@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 87481a9 - Browse repository at this point
Copy the full SHA 87481a9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 739f9c3 - Browse repository at this point
Copy the full SHA 739f9c3View commit details -
* Disable MIPS in CI. Enable check-only testing. * Unpin nightly. * Disable MIPS check tests too. * Mention `rusl` as another similar crate. * Fix a test on illumos.
Configuration menu - View commit details
-
Copy full SHA for ded8986 - Browse repository at this point
Copy the full SHA ded8986View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6dc7ba9 - Browse repository at this point
Copy the full SHA 6dc7ba9View commit details -
Fix the
test_ttyname_ok
test when /dev/stdin is inaccessable. (#821)/dev/stdin may be inaccessible in some sandboxed configurations, so just gracefully return if opening it fails.
Configuration menu - View commit details
-
Copy full SHA for 8cc159c - Browse repository at this point
Copy the full SHA 8cc159cView commit details -
The tests currently fail with link errors: /usr/lib/gcc-cross/riscv64-linux-gnu/9/../../../../riscv64-linux-gnu/bin/ld: -march=rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0: unsupported ISA subset `z' /usr/lib/gcc-cross/riscv64-linux-gnu/9/../../../../riscv64-linux-gnu/bin/ld: failed to merge target specific data of file /home/runner/work/rustix/rustix/target/riscv64gc-unknown-linux-gnu/release/deps/rustix-de11d1cc9b23d8e9.rustix.57e81a24c389c933-cgu.1.rcgu.o
Configuration menu - View commit details
-
Copy full SHA for 4928cf7 - Browse repository at this point
Copy the full SHA 4928cf7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6534992 - Browse repository at this point
Copy the full SHA 6534992View commit details
Commits on Oct 25, 2023
-
Fix p{read,write}v{,v2}'s encoding of the offset argument on Linux. (#…
…896) (#898) Unlike with `p{read,write}`, Linux's `p{read,write}v` syscall's offset argument is not passed in an endian-specific order. And, the expectation is for syscall wrappers to always pass both the high and low halves of the offset as separate arguments, even though on 64-bit architectures the low half is passed throgh as a 64-bit value containing the full offset and the kernel doesn't mask it. And `p{read,write}v2` follow the behavior of `p{read,write}`.
Configuration menu - View commit details
-
Copy full SHA for 1c6013a - Browse repository at this point
Copy the full SHA 1c6013aView commit details
Commits on Oct 26, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 76c998c - Browse repository at this point
Copy the full SHA 76c998cView commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.36.15...v0.36.17