[lxc-devel] [PATCH] lxc_mount_auto_mounts: fix weirdness
Serge Hallyn
serge.hallyn at ubuntu.com
Sat Oct 3 21:52:16 UTC 2015
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 <serge.hallyn at ubuntu.com>
---
src/lxc/conf.c | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/src/lxc/conf.c b/src/lxc/conf.c
index bb4c19f..80ff647 100644
--- a/src/lxc/conf.c
+++ b/src/lxc/conf.c
@@ -803,16 +803,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);
--
2.5.0
More information about the lxc-devel
mailing list