From: Serge Hallyn Date: Sat, 3 Oct 2015 21:52:16 +0000 (+0000) Subject: lxc_mount_auto_mounts: fix weirdness X-Git-Tag: lxc-1.0.8~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2e63b88ed4107c1ac83deca6ea85cb86984b0434;p=thirdparty%2Flxc.git lxc_mount_auto_mounts: fix weirdness The default_mounts[i].destination is never NULL except in the last 'stop here' entry. Coverity doesn't know about that and so is spewing a warning. In any case, let's add a more stringent check in case someone accidentally adds a NULL there later. Signed-off-by: Serge Hallyn Acked-by: Stéphane Graber --- diff --git a/src/lxc/conf.c b/src/lxc/conf.c index 4b84442e9..7c45301d7 100644 --- a/src/lxc/conf.c +++ b/src/lxc/conf.c @@ -788,16 +788,18 @@ static int lxc_mount_auto_mounts(struct lxc_conf *conf, int flags, struct lxc_ha return -1; } } - if (default_mounts[i].destination) { - /* will act like strdup if %r is not present */ - destination = lxc_string_replace("%r", conf->rootfs.path ? conf->rootfs.mount : "", default_mounts[i].destination); - if (!destination) { - saved_errno = errno; - SYSERROR("memory allocation error"); - free(source); - errno = saved_errno; - return -1; - } + if (!default_mounts[i].destination) { + ERROR("BUG: auto mounts destination %d was NULL", i); + return -1; + } + /* will act like strdup if %r is not present */ + destination = lxc_string_replace("%r", conf->rootfs.path ? conf->rootfs.mount : "", default_mounts[i].destination); + if (!destination) { + saved_errno = errno; + SYSERROR("memory allocation error"); + free(source); + errno = saved_errno; + return -1; } mflags = add_required_remount_flags(source, destination, default_mounts[i].flags);