From: Zbigniew Jędrzejewski-Szmek Date: Sun, 23 Oct 2016 15:57:55 +0000 (-0400) Subject: nspawn: use the return value from asprintf instead of checking the pointer X-Git-Tag: v233~464^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9aa2169eaeb20994fb2b0196c051cff52f57a93d;p=thirdparty%2Fsystemd.git 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. --- diff --git a/src/nspawn/nspawn-mount.c b/src/nspawn/nspawn-mount.c index 9a03f4b0bdb..2cad84b5a14 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