Files
RedBear-OS/netstack
Red Bear OS 2dba10b7df netstack: fix RawFd call-site and complete BufferPool zero-fill
Two review-identified blocking fixes:

1. RawFd compile error in corec12_integration.rs:45-55.
   reader_pool_from_fds received Vec<usize> from callers but the
   OwnedFd::from_raw_fd signature takes std::os::fd::RawFd (c_int).
   Per Rust's no-implicit-conversion rule this would not compile.
   Fix: explicit try_from(raw) with overflow error message. Add a
   precise SAFETY comment documenting that 'raw' is expected from
   libredox::Fd::into_raw_fd on a live, owned descriptor and that dup
   creates an independently owned duplicate.

2. BufferPool still exposed stale bytes in F001 fix:
   v.fill(0) only clears 0..v.len() (the OLD logical length), then
   unsafe { v.set_len(capacity) } extends the Vec to full capacity,
   leaving the tail bytes uninitialized AND violating Vec::set_len's
   contract (the new elements must already be initialized). This was
   information disclosure (prior flow data in the uninitialized tail)
   AND undefined behavior.
   Fix: use the safe v.resize(capacity, 0), which guarantees every
   byte in [0, capacity) is initialized to 0 before the length
   changes. No unsafe needed.
2026-07-27 20:13:36 +09:00
..