diff --git a/aya/src/programs/mod.rs b/aya/src/programs/mod.rs index d589bfc6..5cbd1565 100644 --- a/aya/src/programs/mod.rs +++ b/aya/src/programs/mod.rs @@ -388,12 +388,9 @@ impl ProgramData { fn unload_program(data: &mut ProgramData) -> Result<(), ProgramError> { data.links.remove_all()?; - if let Some(fd) = data.fd.take() { - unsafe { - libc::close(fd); - } - } else { - return Err(ProgramError::NotLoaded); + let fd = data.fd.take().ok_or(ProgramError::NotLoaded)?; + unsafe { + libc::close(fd); } Ok(()) }