From dacacbb74835a8c259e4078100bced906d3040ec Mon Sep 17 00:00:00 2001
From: Tamir Duberstein <tamird@gmail.com>
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))
     }
 }