summaryrefslogtreecommitdiff
path: root/src/key.rs
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@suse.de>2024-06-20 14:58:05 +1000
committerKent Overstreet <kent.overstreet@linux.dev>2024-06-20 08:52:12 -0400
commit411df4e53fdc58cfca2e473e54c1bed9cf17740d (patch)
tree4d84cf784d2d304d08b1024927dd4e00981aaad5 /src/key.rs
parent277ba6d4aca50da21a5628b2b810da90bd2590a0 (diff)
key: use c_long type for keyctl_search() helper fn
The keyctl_search() C function returns a long, which is already reflected in the KeyHandle._id type. The search_keyring() helper function currently returns a Result<i64>, which breaks 32-bit builds for e.g. armv7l: error[E0308]: mismatched types --> src/key.rs:121:16 | 121 | Ok(key_id) | -- ^^^^^^ expected `i64`, found `i32` | | | arguments to this enum variant are incorrect ... error[E0308]: mismatched types --> src/key.rs:135:24 | 135 | _id: id, | ^^ expected `i32`, found `i64` Fix this by changing search_keyring() to return a Result<c_long>. Fixes: f72ded6a ("fix(key): search for key in all relevant keyrings") Signed-off-by: David Disseldorp <ddiss@suse.de> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'src/key.rs')
-rw-r--r--src/key.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/key.rs b/src/key.rs
index 96eb491d..0e061ee5 100644
--- a/src/key.rs
+++ b/src/key.rs
@@ -110,7 +110,7 @@ impl KeyHandle {
}
}
- fn search_keyring(keyring: i32, key_name: &CStr) -> Result<i64> {
+ fn search_keyring(keyring: i32, key_name: &CStr) -> Result<c_long> {
let key_name = CStr::as_ptr(key_name);
let key_type = c_str!("user");