mirror of
https://github.com/systemd/systemd.git
synced 2025-03-11 20:58:27 +03:00
sd-bus: call cap_last_cap() only once in has_cap()
Also, use the same type everywhere for dealing with it.
This commit is contained in:
parent
3cae6c21e7
commit
92a40e20bf
@ -650,16 +650,19 @@ _public_ int sd_bus_creds_get_description(sd_bus_creds *c, const char **ret) {
|
||||
}
|
||||
|
||||
static int has_cap(sd_bus_creds *c, size_t offset, int capability) {
|
||||
unsigned long lc;
|
||||
size_t sz;
|
||||
|
||||
assert(c);
|
||||
assert(capability >= 0);
|
||||
assert(c->capability);
|
||||
|
||||
if ((unsigned) capability > cap_last_cap())
|
||||
lc = cap_last_cap();
|
||||
|
||||
if ((unsigned long) capability > lc)
|
||||
return 0;
|
||||
|
||||
sz = DIV_ROUND_UP(cap_last_cap(), 32U);
|
||||
sz = DIV_ROUND_UP(lc, 32LU);
|
||||
|
||||
return !!(c->capability[offset * sz + CAP_TO_INDEX((uint32_t) capability)] & CAP_TO_MASK_CORRECTED((uint32_t) capability));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user