Memory is allocated for 'mnt_src' by VIR_STRDUP in the loop. Next
loop it will be allocated again. So we need to free 'mnt_src'
before continue the loop.
Signed-off-by: Wang Rui <moon.wangrui(a)huawei.com>
---
src/lxc/lxc_container.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index 1cf2c8f..2a3ec48 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -886,12 +886,14 @@ static int lxcContainerMountBasicFS(bool userns_enabled,
if (ret == 0) {
VIR_DEBUG("Skipping '%s' which isn't mounted in
host",
mnt->dst);
+ VIR_FREE(mnt_src);
continue;
}
}
if (mnt->skipUserNS && userns_enabled) {
VIR_DEBUG("Skipping due to user ns enablement");
+ VIR_FREE(mnt_src);
continue;
}
@@ -930,6 +932,8 @@ static int lxcContainerMountBasicFS(bool userns_enabled,
MS_BIND|MS_REMOUNT|MS_RDONLY);
goto cleanup;
}
+
+ VIR_FREE(mnt_src);
}
rc = 0;
--
1.7.12.4