summaryrefslogtreecommitdiff
path: root/io-Fix-use-after-free-in-ftw-BZ-26779.patch
diff options
context:
space:
mode:
Diffstat (limited to 'io-Fix-use-after-free-in-ftw-BZ-26779.patch')
-rw-r--r--io-Fix-use-after-free-in-ftw-BZ-26779.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/io-Fix-use-after-free-in-ftw-BZ-26779.patch b/io-Fix-use-after-free-in-ftw-BZ-26779.patch
new file mode 100644
index 0000000..813d906
--- /dev/null
+++ b/io-Fix-use-after-free-in-ftw-BZ-26779.patch
@@ -0,0 +1,29 @@
+From ee52ab25ba875f458981fce22c54e3c04c7a17d3 Mon Sep 17 00:00:00 2001
+From: Martin Sebor <msebor@redhat.com>
+Date: Tue, 25 Jan 2022 17:39:02 -0700
+Subject: [PATCH] io: Fix use-after-free in ftw [BZ #26779]
+
+Reviewed-by: Carlos O'Donell <carlos@redhat.com>
+---
+ io/ftw.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/io/ftw.c b/io/ftw.c
+index 2742541f36..94bd5a93e4 100644
+--- a/io/ftw.c
++++ b/io/ftw.c
+@@ -323,8 +323,9 @@ open_dir_stream (int *dfdp, struct ftw_data *data, struct dir_data *dirp)
+ buf[actsize++] = '\0';
+
+ /* Shrink the buffer to what we actually need. */
+- data->dirstreams[data->actdir]->content = realloc (buf, actsize);
+- if (data->dirstreams[data->actdir]->content == NULL)
++ void *content = realloc (buf, actsize);
++ data->dirstreams[data->actdir]->content = content;
++ if (content == NULL)
+ {
+ int save_err = errno;
+ free (buf);
+--
+2.33.0
+