From 669418dc8523456b75918d4ba5fba01a6e6de518 Mon Sep 17 00:00:00 2001 From: Alan Jowett Date: Tue, 14 Feb 2023 19:07:54 -0700 Subject: [PATCH] Fix memory leak in ebpf_ring_buffer_map_subscribe (#2081) Signed-off-by: Alan Jowett Co-authored-by: Anurag Saxena <43585259+saxena-anurag@users.noreply.github.com> --- libs/api/ebpf_api.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/api/ebpf_api.cpp b/libs/api/ebpf_api.cpp index bb21ae4b2..59989d28f 100644 --- a/libs/api/ebpf_api.cpp +++ b/libs/api/ebpf_api.cpp @@ -3729,7 +3729,10 @@ ebpf_ring_buffer_map_subscribe( if (result == EBPF_PENDING) result = EBPF_SUCCESS; - *subscription = local_subscription.release(); + // If the async IOCTL failed, then free the subscription object. + if (result == EBPF_SUCCESS) { + *subscription = local_subscription.release(); + } EBPF_RETURN_RESULT(result); } catch (const std::bad_alloc&) {