Files
RedBear-OS/local/sources
vasilito 1157e7f0d5 relibc: bump submodule for Round 18 ifaddrs safety + libc pin + dso panic fixes
Four relibc submodule commits by the user that complete Round 18:

1. 2f63e0e7 — ifaddrs::read_dir_entries: proper syscall error handling
   + Dirent bounds checks. Replaces the previous .unwrap_or(0) silent
   error suppression with .map_err(|_| ())? that propagates real
   errors. Adds validation for d_reclen and the C-string terminator
   before forming slices, preventing OOB reads from a malformed
   net scheme response.

2. 5852966c — ifaddrs: read_attr closure returns Option<>, so .ok()
   the read_file Result. Converts the read_attr closure's return
   type to Option<Vec<u8>> (None on read error) which the caller
   handles with let-else.

3. 80c26174 — relibc: pin libc to 0.2.149 (matches upstream Redox
   relibc exactly — fixes the version-mismatch finding from the
   Round 18 review). Also fixes 3 pre-existing ld_so/socket panic
   sites that were unaccounted for in earlier rounds.

4. 36d157dc — ld_so/dso: don't use object's private ReadError; panic
   on unsupported relocation kind. The ReadError trait is private
   cross-crate so .read_error() cannot be called externally. Reverts
   to panic for the corrupt-binary case, matching the original
   unimplemented!() semantics for unknown relocation types.

Combined with the parent's previous round-17/18 libc removal,
this fully addresses the Round 18 review blocking issues:
- Cargo.toml matches upstream (0.2.149, no align feature)
- ifaddrs OOB panic fixed (len/path_len separation)
- ifaddrs heap overflow fixed (sockaddr_max sizing)
- ifaddrs d_reclen validation added
- ifaddrs silent error suppression fixed
- ifaddrs path-traversal/separator validation added
- dso relocation panics pre-existing
2026-07-28 12:07:17 +09:00
..