summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nspawn/nspawn-mount.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/nspawn/nspawn-mount.c b/src/nspawn/nspawn-mount.c
index 9a03f4b0bd..2cad84b5a1 100644
--- a/src/nspawn/nspawn-mount.c
+++ b/src/nspawn/nspawn-mount.c
@@ -193,11 +193,9 @@ static int tmpfs_patch_options(
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;
@@ -207,16 +205,12 @@ static int tmpfs_patch_options(
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