From 66ff03065defb26bc2cdec5874c0be88343541c8 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Tue, 14 Jan 2025 14:20:26 +0000 Subject: [PATCH] ls: Release resources before returning from traverse() PR: 278476 MFC after: 2 weeks Reported by: valgrind (cherry picked from commit e6c9c463384d11a44af3e5f2cc947fb69f3a1968) --- bin/ls/ls.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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); } /*