}
_public_ sd_bus_creds *sd_bus_creds_unref(sd_bus_creds *c) {
- assert_return(c, NULL);
+
+ if (!c)
+ return NULL;
if (c->allocated) {
assert(c->n_ref > 0);
_public_ int sd_bus_creds_get_uid(sd_bus_creds *c, uid_t *uid) {
assert_return(c, -EINVAL);
assert_return(uid, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_UID, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_UID))
+ return -ENODATA;
*uid = c->uid;
return 0;
_public_ int sd_bus_creds_get_gid(sd_bus_creds *c, gid_t *gid) {
assert_return(c, -EINVAL);
assert_return(gid, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_UID, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_UID))
+ return -ENODATA;
*gid = c->gid;
return 0;
_public_ int sd_bus_creds_get_pid(sd_bus_creds *c, pid_t *pid) {
assert_return(c, -EINVAL);
assert_return(pid, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_PID, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_PID))
+ return -ENODATA;
assert(c->pid > 0);
*pid = c->pid;
_public_ int sd_bus_creds_get_tid(sd_bus_creds *c, pid_t *tid) {
assert_return(c, -EINVAL);
assert_return(tid, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_TID, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_TID))
+ return -ENODATA;
assert(c->tid > 0);
*tid = c->tid;
_public_ int sd_bus_creds_get_pid_starttime(sd_bus_creds *c, uint64_t *usec) {
assert_return(c, -EINVAL);
assert_return(usec, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_PID_STARTTIME, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_PID_STARTTIME))
+ return -ENODATA;
assert(c->pid_starttime > 0);
*usec = c->pid_starttime;
_public_ int sd_bus_creds_get_selinux_context(sd_bus_creds *c, const char **ret) {
assert_return(c, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_SELINUX_CONTEXT, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_SELINUX_CONTEXT))
+ return -ENODATA;
assert(c->label);
*ret = c->label;
_public_ int sd_bus_creds_get_comm(sd_bus_creds *c, const char **ret) {
assert_return(c, -EINVAL);
assert_return(ret, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_COMM, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_COMM))
+ return -ENODATA;
assert(c->comm);
*ret = c->comm;
_public_ int sd_bus_creds_get_tid_comm(sd_bus_creds *c, const char **ret) {
assert_return(c, -EINVAL);
assert_return(ret, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_TID_COMM, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_TID_COMM))
+ return -ENODATA;
assert(c->tid_comm);
*ret = c->tid_comm;
_public_ int sd_bus_creds_get_exe(sd_bus_creds *c, const char **ret) {
assert_return(c, -EINVAL);
assert_return(ret, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_EXE, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_EXE))
+ return -ENODATA;
assert(c->exe);
*ret = c->exe;
_public_ int sd_bus_creds_get_cgroup(sd_bus_creds *c, const char **ret) {
assert_return(c, -EINVAL);
assert_return(ret, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_CGROUP, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_CGROUP))
+ return -ENODATA;
assert(c->cgroup);
*ret = c->cgroup;
assert_return(c, -EINVAL);
assert_return(ret, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_UNIT, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_UNIT))
+ return -ENODATA;
assert(c->cgroup);
assert_return(c, -EINVAL);
assert_return(ret, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_USER_UNIT, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_USER_UNIT))
+ return -ENODATA;
assert(c->cgroup);
assert_return(c, -EINVAL);
assert_return(ret, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_SLICE, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_SLICE))
+ return -ENODATA;
assert(c->cgroup);
assert_return(c, -EINVAL);
assert_return(ret, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_SESSION, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_SESSION))
+ return -ENODATA;
assert(c->cgroup);
_public_ int sd_bus_creds_get_owner_uid(sd_bus_creds *c, uid_t *uid) {
assert_return(c, -EINVAL);
assert_return(uid, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_OWNER_UID, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_OWNER_UID))
+ return -ENODATA;
assert(c->cgroup);
_public_ int sd_bus_creds_get_cmdline(sd_bus_creds *c, char ***cmdline) {
assert_return(c, -EINVAL);
- assert_return(c->cmdline, -ESRCH);
- assert_return(c->mask & SD_BUS_CREDS_CMDLINE, -ENODATA);
+ if (!(c->mask & SD_BUS_CREDS_CMDLINE))
+ return -ENODATA;
+
+ assert_return(c->cmdline, -ESRCH);
assert(c->cmdline);
if (!c->cmdline_array) {
_public_ int sd_bus_creds_get_audit_session_id(sd_bus_creds *c, uint32_t *sessionid) {
assert_return(c, -EINVAL);
assert_return(sessionid, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_AUDIT_SESSION_ID, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_AUDIT_SESSION_ID))
+ return -ENODATA;
*sessionid = c->audit_session_id;
return 0;
_public_ int sd_bus_creds_get_audit_login_uid(sd_bus_creds *c, uid_t *uid) {
assert_return(c, -EINVAL);
assert_return(uid, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_AUDIT_LOGIN_UID, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_AUDIT_LOGIN_UID))
+ return -ENODATA;
*uid = c->audit_login_uid;
return 0;
_public_ int sd_bus_creds_get_unique_name(sd_bus_creds *c, const char **unique_name) {
assert_return(c, -EINVAL);
assert_return(unique_name, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_UNIQUE_NAME, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_UNIQUE_NAME))
+ return -ENODATA;
*unique_name = c->unique_name;
return 0;
_public_ int sd_bus_creds_get_well_known_names(sd_bus_creds *c, char ***well_known_names) {
assert_return(c, -EINVAL);
assert_return(well_known_names, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_WELL_KNOWN_NAMES, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_WELL_KNOWN_NAMES))
+ return -ENODATA;
*well_known_names = c->well_known_names;
return 0;
_public_ int sd_bus_creds_has_effective_cap(sd_bus_creds *c, int capability) {
assert_return(c, -EINVAL);
assert_return(capability >= 0, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_EFFECTIVE_CAPS, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_EFFECTIVE_CAPS))
+ return -ENODATA;
return has_cap(c, CAP_OFFSET_EFFECTIVE, capability);
}
_public_ int sd_bus_creds_has_permitted_cap(sd_bus_creds *c, int capability) {
assert_return(c, -EINVAL);
assert_return(capability >= 0, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_PERMITTED_CAPS, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_PERMITTED_CAPS))
+ return -ENODATA;
return has_cap(c, CAP_OFFSET_PERMITTED, capability);
}
_public_ int sd_bus_creds_has_inheritable_cap(sd_bus_creds *c, int capability) {
assert_return(c, -EINVAL);
assert_return(capability >= 0, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_INHERITABLE_CAPS, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_INHERITABLE_CAPS))
+ return -ENODATA;
return has_cap(c, CAP_OFFSET_INHERITABLE, capability);
}
_public_ int sd_bus_creds_has_bounding_cap(sd_bus_creds *c, int capability) {
assert_return(c, -EINVAL);
assert_return(capability >= 0, -EINVAL);
- assert_return(c->mask & SD_BUS_CREDS_BOUNDING_CAPS, -ENODATA);
+
+ if (!(c->mask & SD_BUS_CREDS_BOUNDING_CAPS))
+ return -ENODATA;
return has_cap(c, CAP_OFFSET_BOUNDING, capability);
}