From 603a93d3f04e3f713c5e64d10464720018c51f29 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Mon, 24 Mar 2008 05:34:58 -0500 Subject: If we don't remember to closedir(), the leaked filehandles add up. --- lib/dirtree.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'lib/dirtree.c') diff --git a/lib/dirtree.c b/lib/dirtree.c index 6cdacfe6..45ee139c 100644 --- a/lib/dirtree.c +++ b/lib/dirtree.c @@ -57,10 +57,12 @@ struct dirtree *dirtree_read(char *path, struct dirtree *parent, int len = strlen(path); if (!(dir = opendir(path))) perror_msg("No %s", path); - - for (;;) { + else for (;;) { struct dirent *entry = readdir(dir); - if (!entry) break; + if (!entry) { + closedir(dir); + break; + } // Skip "." and ".." if (entry->d_name[0]=='.') { -- cgit v1.2.3