diff options
author | David Disseldorp <ddiss@suse.de> | 2024-06-20 14:58:05 +1000 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-06-20 08:52:12 -0400 |
commit | 411df4e53fdc58cfca2e473e54c1bed9cf17740d (patch) | |
tree | 4d84cf784d2d304d08b1024927dd4e00981aaad5 /src/key.rs | |
parent | 277ba6d4aca50da21a5628b2b810da90bd2590a0 (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.rs | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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"); |