[lxc-devel] [PATCH] valgrind: fix memory leak on container new/put
Dwight Engen
dwight.engen at oracle.com
Wed Sep 4 21:04:51 UTC 2013
Signed-off-by: Dwight Engen <dwight.engen at oracle.com>
---
src/lxc/lxclock.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/lxc/lxclock.c b/src/lxc/lxclock.c
index dea6941..79ebf84 100644
--- a/src/lxc/lxclock.c
+++ b/src/lxc/lxclock.c
@@ -122,6 +122,10 @@ struct lxc_lock *lxc_newlock(const char *lxcpath, const char *name)
if (!name) {
l->type = LXC_LOCK_ANON_SEM;
l->u.sem = lxc_new_unnamed_sem();
+ if (!l->u.sem) {
+ free(l);
+ l = NULL;
+ }
goto out;
}
@@ -248,8 +252,11 @@ void lxc_putlock(struct lxc_lock *l)
return;
switch(l->type) {
case LXC_LOCK_ANON_SEM:
- if (l->u.sem)
+ if (l->u.sem) {
sem_close(l->u.sem);
+ free(l->u.sem);
+ l->u.sem = NULL;
+ }
break;
case LXC_LOCK_FLOCK:
process_lock();
@@ -264,6 +271,7 @@ void lxc_putlock(struct lxc_lock *l)
}
break;
}
+ free(l);
}
int process_lock(void)
--
1.8.1.4
More information about the lxc-devel
mailing list