SIGN IN SIGN UP

fix: deep-copy Data in MakeHttpEvent to prevent nil pointer panic (#804)

MakeHttpEvent was sharing e.Data (a pooled *data pointer) with the
returned HttpEvent. When Release() was called on the original bpfEvent
after the HTTP tracer callback returned, it zeroed the shared *data's
inner Data field and returned it to the pool. Any stored HttpEvent in
eventsMap then held a dangling reference, causing a nil pointer
dereference (SIGSEGV) when transmitOrphanRequests called GetTimestamp().

Fix by calling Datasource.DeepCopy so the HttpEvent owns an independent
copy of Data, decoupled from the original event's lifecycle.

Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
M
Matthias Bertschy committed
11a512daab89c178ee0a41f8baa00ccff8abefd7
Parent: ff24606
Committed by GitHub <noreply@github.com> on 5/26/2026, 1:58:48 PM