diff --git a/bin/ls/ls.c b/bin/ls/ls.c index 1ad346440f0..51cd45b84d6 100644 --- a/bin/ls/ls.c +++ b/bin/ls/ls.c @@ -655,8 +655,10 @@ traverse(int argc, char *argv[], int options) chp = fts_children(ftsp, 0); if (chp != NULL) display(NULL, chp, options); - if (f_listdir) + if (f_listdir) { + fts_close(ftsp); return; + } /* * If not recursing down this tree and don't need stat info, just get @@ -705,6 +707,7 @@ traverse(int argc, char *argv[], int options) } if (errno) err(1, "fts_read"); + fts_close(ftsp); } /*