Repository navigation
Conversation
…tdirentries On Windows getdirentries stored 0 in basep on every call. FreeBSD 11.4 kern_getdirentries stores the descriptor offset the read started at, and only when the call succeeds. basep now holds the entry index the descriptor was at before the call, the value lseek returns and accepts, and a failed call leaves it untouched. The Linux path stored the offset before the host read and now stores it only on success. (cherry picked from commit f043f20)
7c2b593 to
a293ce2
Compare
|
Commit history is now split by authorship: Hussein Kadhim’s original |
|
On Windows this no longer builds once merged onto current
With that line restored, and #4999 also applied: |
|
Closing: no title is known to reach this. With the queue at 700+ open PRs, please hold off on new PRs that don't name a title needing the change until it's down. If a title stops on this on current main, reopen with the title ID and the log line. |
What
Carry Hussein Kadhim's
getdirentriesbasepfix onto currentmain, preserving his commit author. Windows now reports the directory entry index at the start of a successful read and leavesbasepunchanged on failure. The Linux path likewise writesbaseponly after a successful read. Add a Linux regression assertion that a too-small-buffer error leaves the caller'sbasepuntouched.Closes #5237.
Tested
guest_directory_entry_tests;guest_directory_entriespassed (1/1).guest_directoryandguest_fdopendirpassed (2/2).mainand passes with this change.python3 tools/check_conventions.py --base upstream/mainpassed.guest_directory_buffer,guest_directoryandguest_fdopendirchecks. I could not rerun the Windows target here: MinGW configuration stops becauselibgcc_s_seh-1.dllis unavailable.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)libkernel.mddebt entry; the runtime fix is independent)