From 9aa2169eaeb20994fb2b0196c051cff52f57a93d Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Sun, 23 Oct 2016 11:57:55 -0400 Subject: 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. --- src/nspawn/nspawn-mount.c | 20 +++++++------------- 1 file 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 -- cgit v1.2.3-54-g00ecf