On 2012年06月15日 15:41, Gao feng wrote:
when lxcContainerIdentifyCGroups failed, lxcContainerSetupPivortRoot
and lxcContainerSetupExtraMounts will free the memory that allocated
in lxcContainerIdentifyCGroups.
So we need not call lxcContainerCGroupFree when
lxcContainerIdentifyCGroups failed.
Signed-off-by: Gao feng<gaofeng(a)cn.fujitsu.com>
---
src/lxc/lxc_container.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index 4fbceb4..87de463 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -1236,17 +1236,16 @@ static int lxcContainerIdentifyCGroups(struct lxcContainerCGroup
**mountsret,
}
}
- *mountsret = mounts;
- *nmountsret = nmounts;
ret = 0;
cleanup:
+ *mountsret = mounts;
+ *nmountsret = nmounts;
+
closedir(dh);
endmntent(procmnt);
VIR_FREE(path);
- if (ret< 0)
- lxcContainerCGroupFree(mounts, nmounts);
return ret;
}
NACK. Personally I think removing the duplicate free() in the callers
(only lxcContainerSetupPivortRoot and lxcContainerSetupExtraMounts
now) is better. No reason to keep an allocated memory while the function
itself fails.
Regards,
Osier