# HG changeset patch # User Rob Landley # Date 1206354898 18000 # Node ID e9f75ffd3200e407b315812a65a3f92d4a6a3f33 # Parent 7b3d9594bf9c073dd6beee2073a226cfb9eddbed If we don't remember to closedir(), the leaked filehandles add up. diff -r 7b3d9594bf9c -r e9f75ffd3200 lib/dirtree.c --- a/lib/dirtree.c Mon Mar 24 05:14:37 2008 -0500 +++ b/lib/dirtree.c Mon Mar 24 05:34:58 2008 -0500 @@ -57,10 +57,12 @@ 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]=='.') {