} else {
struct timespec now;
- r = clock_gettime(CLOCK_MONOTONIC_COARSE, &now);
- if (r < 0) {
- r = -errno;
- goto fail;
- }
-
+ assert_se(clock_gettime(CLOCK_MONOTONIC_COARSE, &now) == 0);
m->kdbus->timeout_ns = now.tv_sec * NSEC_PER_SEC + now.tv_nsec +
m->timeout * NSEC_PER_USEC;
}
break;
case KDBUS_ITEM_CAPS:
- m->creds.capability = d->data;
- m->creds.capability_size = l;
+ m->creds.capability = (uint8_t *) d->caps.caps;
+ m->creds.capability_size = d->size - offsetof(struct kdbus_item, caps.caps);
m->creds.mask |= (SD_BUS_CREDS_EFFECTIVE_CAPS|SD_BUS_CREDS_PERMITTED_CAPS|SD_BUS_CREDS_INHERITABLE_CAPS|SD_BUS_CREDS_BOUNDING_CAPS) & bus->creds_mask;
break;