]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
v2 [patch 6/6] api: Fix cgroup_walk_tree_begin memory leak
authorDhaval Giani <dhaval.giani@gmail.com>
Tue, 16 Nov 2010 13:29:51 +0000 (14:29 +0100)
committerDhaval Giani <dhaval.giani@gmail.com>
Tue, 16 Nov 2010 15:39:17 +0000 (16:39 +0100)
As pointed out by Steve Grubb at
http://article.gmane.org/gmane.comp.lib.libcg.devel/2485 we leak
entry in cgroup_walk_tree_begin

When we fail fts_read, we need to ensure that entry is freed
on return. Do so.

Reported-by: Steve Grubb <sgrubb@redhat.com>
Signed-off-by: Dhaval Giani <dhaval.giani@gmail.com>
Acked-By: Jan Safranek <jsafrane@redhat.com>
src/api.c

index e34c928e984a571aece46819bdee117784ae03f1..a51230bd4f1b59162a0fc0f63ef03f1f981037e0 100644 (file)
--- a/src/api.c
+++ b/src/api.c
@@ -2839,6 +2839,7 @@ int cgroup_walk_tree_begin(const char *controller, const char *base_path,
        ent = fts_read(entry->fts);
        if (!ent) {
                cgroup_dbg("fts_read failed\n");
+               free(entry);
                return ECGINVAL;
        }
        if (!*base_level && depth)