summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2022-04-20 11:46:46 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-04-20 11:46:46 +0000
commit9f7c9943cb4f78bb8d2d5c176fb9a2c4a7d89e9f (patch)
tree7d33041adccebab94b59bb5906c458000d2b6b86
parentbb485e4000ae58aa81a44986baf7ef55bb465a15 (diff)
parentd12141441bbf020a2323c1c1fffb025a524f53f8 (diff)
downloadsecurity-9f7c9943cb4f78bb8d2d5c176fb9a2c4a7d89e9f.tar.gz
Merge "Fix lints from Rust 1.60.0" am: 90c23a8c17 am: 62fd2a233d am: d12141441b
Original change: https://android-review.googlesource.com/c/platform/system/security/+/2068372 Change-Id: I833a6e2347b64b08f4c8bdef605698f241b637e0 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--keystore2/src/service.rs25
1 files changed, 11 insertions, 14 deletions
diff --git a/keystore2/src/service.rs b/keystore2/src/service.rs
index 79e76923..d634e0c0 100644
--- a/keystore2/src/service.rs
+++ b/keystore2/src/service.rs
@@ -276,22 +276,19 @@ impl KeystoreService {
// If the first check fails we check if the caller has the list permission allowing to list
// any namespace. In that case we also adjust the queried namespace if a specific uid was
// selected.
- match check_key_permission(KeyPerm::GetInfo, &k, &None) {
- Err(e) => {
- if let Some(selinux::Error::PermissionDenied) =
- e.root_cause().downcast_ref::<selinux::Error>()
- {
- check_keystore_permission(KeystorePerm::List)
- .context("In list_entries: While checking keystore permission.")?;
- if namespace != -1 {
- k.nspace = namespace;
- }
- } else {
- return Err(e).context("In list_entries: While checking key permission.")?;
+ if let Err(e) = check_key_permission(KeyPerm::GetInfo, &k, &None) {
+ if let Some(selinux::Error::PermissionDenied) =
+ e.root_cause().downcast_ref::<selinux::Error>() {
+
+ check_keystore_permission(KeystorePerm::List)
+ .context("In list_entries: While checking keystore permission.")?;
+ if namespace != -1 {
+ k.nspace = namespace;
}
+ } else {
+ return Err(e).context("In list_entries: While checking key permission.")?;
}
- Ok(()) => {}
- };
+ }
DB.with(|db| list_key_entries(&mut db.borrow_mut(), k.domain, k.nspace))
}