Files
Zach KoopmansandgVisor bot 230c28bb8d Fix use-after-free in socket pluginStackRW single-block CGO calls
When calling cgo.Read, cgo.Write, and cgo.Sendto with a single-block BlockSeq,
the backing slice address was converted to uintptr via Addr(). Because Go's
garbage collector does not recognize uintptr as a live pointer reference, the
underlying backing array could be collected or reused during the CGO call.
This adds runtime.KeepAlive on the BlockSeq arguments after each single-block
CGO call in ReadToBlocks and WriteFromBlocks.

PiperOrigin-RevId: 968029244
2026-08-20 13:45:38 -07:00
..
2025-01-29 21:16:51 -08:00
…