Merge "Keystore 2.0: Fix loading access tuple from the grant table."
diff --git a/keystore2/src/database.rs b/keystore2/src/database.rs
index 4ab4258..7c0d4c7 100644
--- a/keystore2/src/database.rs
+++ b/keystore2/src/database.rs
@@ -2395,11 +2395,12 @@
let mut stmt = tx
.prepare(
"SELECT keyentryid, access_vector FROM persistent.grant
- WHERE grantee = ? AND id = ?;",
+ WHERE grantee = ? AND id = ? AND
+ (SELECT state FROM persistent.keyentry WHERE id = keyentryid) = ?;",
)
.context("Domain::GRANT prepare statement failed")?;
let mut rows = stmt
- .query(params![caller_uid as i64, key.nspace])
+ .query(params![caller_uid as i64, key.nspace, KeyLifeCycle::Live])
.context("Domain:Grant: query failed.")?;
let (key_id, access_vector): (i64, i32) =
db_utils::with_rows_extract_one(&mut rows, |row| {