Fix memory leak in idmapd.
authorKevin Coffman <kwc@citi.umich.edu>
Thu, 8 Feb 2007 22:27:14 +0000 (17:27 -0500)
committerNeil Brown <neilb@suse.de>
Fri, 9 Feb 2007 00:42:19 +0000 (11:42 +1100)
commite54fb292fcd9253743fc17ba0af26dcbb0723a5d
tree57e5f611ba448c995bfc14860c0e66bc75ba1dfd
parent2344b8edd958a1089fb19e985a735b41f6e7677e
Fix memory leak in idmapd.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Kevin Coffman <kwc@citi.umich.edu>
There is a pretty nasty memory leak in idmapd in dirscancb(). Some of
our customers have reported that idmapd can eat gigabytes of memory on
machines with a large number of mounts and unmounts and a long uptime.

That function uses scandir(), which malloc's an array of strings, but
dirscancb() never frees the strings or the array. The following patch
should correct this, but I've not yet tested it on 1.0.10 (only on the
RHEL4 1.0.6 version). Still, the code is very similar and I'm fairly
certain the problem exists in both versions.
Signed-off-by: Neil Brown <neilb@suse.de>
utils/idmapd/idmapd.c