summaryrefslogtreecommitdiff
path: root/src/nspawn
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-10-23 11:57:55 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-10-23 11:57:55 -0400
commit9aa2169eaeb20994fb2b0196c051cff52f57a93d (patch)
treea9ebe7cb6f569d1165af6a121d98dcd75fe171a4 /src/nspawn
parentf60dad309a815ef55d7688343c62fbbf9d8e1040 (diff)
downloadsystemd-9aa2169eaeb20994fb2b0196c051cff52f57a93d.tar.gz
nspawn: use the return value from asprintf instead of checking the pointer
If allocation fails, the value of the point is "undefined". In practice this matters very little, but for consistency with rest of the code, let's check the return value.
Diffstat (limited to 'src/nspawn')
-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