aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/windivert/src/divert
Commit message (Collapse)AuthorAgeFilesLines
* windivert: relax shutdown() receiver to &selfdilluti0n2026-07-141-1/+1
| | | | | | | Unblocking WinDivertRecv() from another thread is in fact the whole purpose of WinDivertShutdown(), but &mut self made that impossible on a shared (Arc) handle. It only reads self.handle and doesn't invalidate it, so &self is sound.
* windows: windivert: fix rust str passed as ptr to C ffidilluti0n2026-07-141-1/+1
| | | | | This should be null terminated or OpenServiceA() have no chance to know where str is stopped.
* windows: windivert: fix dangling pointer in WinDivert::uninstall()dilluti0n2026-07-141-2/+2
| | | | | | | | | | | MaybeUninit::uninit() is not bound to any variable, so the temporary is dropped at the end of the statement, leaving `status` as a dangling pointer into the freed stack slot. Passing it to ControlService() as an out-pointer then makes the kernel write through a dangling pointer, which is undefined behavior. Bind the MaybeUninit<SERVICE_STATUS> to a local so it outlives the pointer.
* windows: pull windivert-0.6.0 to local crate/ dir from crates.iodilluti0n2026-07-132-0/+582
This is pulled from cargo cache: cp -r ~/.cargo/registry/src/index.crates.io-*/windivert-0.6.0 \ crates/windivert