From 3e9b405a4eff9ea6d97509aec0bc5184a547b79b Mon Sep 17 00:00:00 2001 From: Tamir Duberstein Date: Tue, 1 Aug 2023 13:38:07 -0400 Subject: [PATCH] programs: plug file descriptor leak This leaked a file descriptor if bpf_prog_get_info_by_fd failed. --- aya/src/programs/mod.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/aya/src/programs/mod.rs b/aya/src/programs/mod.rs index a257427b..95a45f62 100644 --- a/aya/src/programs/mod.rs +++ b/aya/src/programs/mod.rs @@ -954,10 +954,11 @@ impl ProgramInfo { io_error, })? as RawFd; - let info = bpf_prog_get_info_by_fd(fd)?; + let info = bpf_prog_get_info_by_fd(fd); unsafe { libc::close(fd); } + let info = info?; Ok(ProgramInfo(info)) } }