diff --git a/libimagstore/src/store.rs b/libimagstore/src/store.rs index b853b594..c124c41e 100644 --- a/libimagstore/src/store.rs +++ b/libimagstore/src/store.rs @@ -526,15 +526,13 @@ impl Store { fle: &mut FileLockEntry) -> Result<()> { - let guard = aspects.deref().lock(); - if guard.is_err() { return Err(SE::new(SEK::PreHookExecuteError, None)) } - - guard.unwrap().deref().iter() - .fold(Ok(()), |acc, aspect| { - debug!("[Aspect][exec]: {:?}", aspect); - acc.and_then(|_| aspect.access_mut(fle)) - }) - .map_err(|e| SE::new(SEK::PreHookExecuteError, Some(Box::new(e)))) + match aspects.lock() { + Err(_) => return Err(SE::new(SEK::PreHookExecuteError, None)), + Ok(g) => g + }.iter().fold(Ok(()), |acc, aspect| { + debug!("[Aspect][exec]: {:?}", aspect); + acc.and_then(|_| aspect.access_mut(fle)) + }).map_err(|e| SE::new(SEK::PreHookExecuteError, Some(Box::new(e)))) } }