41 lines
1015 B
Diff
41 lines
1015 B
Diff
From 39b7bf8579e0522cf16347b3a7e332d3b6d742c6 Mon Sep 17 00:00:00 2001
|
|
From: Michal Domonkos <mdomonko@redhat.com>
|
|
Date: Mon, 14 Jun 2021 12:34:23 +0200
|
|
Subject: [PATCH] Fix memory leak in fts_build()
|
|
|
|
Turns out this leak is already fixed in glibc's current version of fts.c
|
|
(where our copy originates from), so let's just backport that.
|
|
|
|
Original commit in glibc:
|
|
https://sourceware.org/git/?p=glibc.git;\
|
|
a=commit;h=db67c2c98b89a5723af44df54f38b779de8d4a65
|
|
|
|
Found by Coverity.
|
|
---
|
|
misc/fts.c | 2 ++
|
|
1 file changed, 2 insertions(+)
|
|
|
|
diff --git a/misc/fts.c b/misc/fts.c
|
|
index caf27495d..f7fce0eaa 100644
|
|
--- a/misc/fts.c
|
|
+++ b/misc/fts.c
|
|
@@ -855,6 +855,7 @@ mem1: saved_errno = errno;
|
|
fts_safe_changedir(sp, cur->fts_parent, -1, ".."))) {
|
|
cur->fts_info = FTS_ERR;
|
|
SET(FTS_STOP);
|
|
+ fts_lfree(head);
|
|
return (NULL);
|
|
}
|
|
|
|
@@ -862,6 +863,7 @@ mem1: saved_errno = errno;
|
|
if (!nitems) {
|
|
if (type == BREAD)
|
|
cur->fts_info = FTS_DP;
|
|
+ fts_lfree(head);
|
|
return (NULL);
|
|
}
|
|
|
|
--
|
|
2.27.0
|
|
|