Use if-let rather than unwrapping. am: f1150cd5d3 am: 2568e050ec
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Virtualization/+/3259955
Change-Id: Iafa3c89b33833348b3370f14d5411a772fc96652
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/libs/libinherited_fd/src/lib.rs b/libs/libinherited_fd/src/lib.rs
index 709bac6..f5e2d6b 100644
--- a/libs/libinherited_fd/src/lib.rs
+++ b/libs/libinherited_fd/src/lib.rs
@@ -97,14 +97,15 @@
pub fn take_fd_ownership(raw_fd: RawFd) -> Result<OwnedFd, Error> {
let mut fds = INHERITED_FDS.get().ok_or(Error::NotInitialized)?.lock().unwrap();
- match fds.get_mut(&raw_fd) {
- None => Err(Error::FileDescriptorNotInherited(raw_fd)),
- Some(None) => Err(Error::OwnershipTaken(raw_fd)),
- Some(owned_fd) => {
- let owned_fd = owned_fd.take().unwrap();
+ if let Some(value) = fds.get_mut(&raw_fd) {
+ if let Some(owned_fd) = value.take() {
fcntl(raw_fd, F_SETFD(FdFlag::FD_CLOEXEC)).or(Err(Error::FailCloseOnExec(raw_fd)))?;
Ok(owned_fd)
+ } else {
+ Err(Error::OwnershipTaken(raw_fd))
}
+ } else {
+ Err(Error::FileDescriptorNotInherited(raw_fd))
}
}