if ((userns && uid_shift != 0) || patch_ids) {
assert(uid_shift != UID_INVALID);
- if (options)
- (void) asprintf(&buf, "%s,uid=" UID_FMT ",gid=" UID_FMT, options, uid_shift, uid_shift);
- else
- (void) asprintf(&buf, "uid=" UID_FMT ",gid=" UID_FMT, uid_shift, uid_shift);
- if (!buf)
+ if (asprintf(&buf, "%s%suid=" UID_FMT ",gid=" UID_FMT,
+ options ?: "", options ? "," : "",
+ uid_shift, uid_shift) < 0)
return -ENOMEM;
options = buf;
if (selinux_apifs_context) {
char *t;
- if (options)
- t = strjoin(options, ",context=\"", selinux_apifs_context, "\"");
- else
- t = strjoin("context=\"", selinux_apifs_context, "\"");
- if (!t) {
- free(buf);
+ t = strjoin(options ?: "", options ? "," : "",
+ "context=\"", selinux_apifs_context, "\"");
+ free(buf);
+ if (!t)
return -ENOMEM;
- }
- free(buf);
buf = t;
}
#endif