Unverified Commit 266892a9 by t00416110 Committed by Christian Brauner

conf.c: fix memory leak and mount error

1. cleanup namespace memory 2. fix bug when ro mount not setted, mount propagation will be skipped. Signed-off-by: 's avatart00416110 <tanyifeng1@huawei.com>
parent 69be5eab
......@@ -2079,6 +2079,9 @@ static int mount_entry(const char *fsname, const char *target,
}
}
#ifdef HAVE_STATVFS
skipremount:
#endif
if (pflags) {
ret = mount(NULL, target, NULL, pflags, NULL);
if (ret < 0) {
......@@ -2095,10 +2098,6 @@ static int mount_entry(const char *fsname, const char *target,
DEBUG("Changed mount propagation for \"%s\"", target);
}
#ifdef HAVE_STATVFS
skipremount:
#endif
DEBUG("Mounted \"%s\" on \"%s\" with filesystem type \"%s\"",
srcpath ? srcpath : "(null)", target, fstype);
......@@ -3781,6 +3780,16 @@ int lxc_clear_config_keepcaps(struct lxc_conf *c)
return 0;
}
int lxc_clear_namespace(struct lxc_conf *c)
{
int i;
for (i = 0; i < LXC_NS_MAX; i++) {
free(c->ns_share[i]);
c->ns_share[i] = NULL;
}
return 0;
}
int lxc_clear_cgroups(struct lxc_conf *c, const char *key, int version)
{
char *global_token, *namespaced_token;
......@@ -4058,6 +4067,7 @@ void lxc_conf_free(struct lxc_conf *conf)
lxc_clear_limits(conf, "lxc.prlimit");
lxc_clear_sysctls(conf, "lxc.sysctl");
lxc_clear_procs(conf, "lxc.proc");
lxc_clear_namespace(conf);
free(conf->cgroup_meta.dir);
free(conf->cgroup_meta.controllers);
free(conf);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment