summaryrefslogtreecommitdiff
path: root/backport-rtld-properly-handle-root-directory-in-load-path-bug-30435.patch
diff options
context:
space:
mode:
Diffstat (limited to 'backport-rtld-properly-handle-root-directory-in-load-path-bug-30435.patch')
-rw-r--r--backport-rtld-properly-handle-root-directory-in-load-path-bug-30435.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/backport-rtld-properly-handle-root-directory-in-load-path-bug-30435.patch b/backport-rtld-properly-handle-root-directory-in-load-path-bug-30435.patch
new file mode 100644
index 0000000..bef51b3
--- /dev/null
+++ b/backport-rtld-properly-handle-root-directory-in-load-path-bug-30435.patch
@@ -0,0 +1,31 @@
+
+From e0189b25403f8b67e7a5513d6c33fb09cb2e5e20 Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@suse.de>
+Date: Tue, 16 May 2023 14:41:46 +0200
+Subject: [PATCH] rtld: properly handle root directory in load path (bug 30435)
+
+Don't strip the trailing slash when checking for existence of a load path
+element to handle the special case of the root directory.
+
+Reference:https://sourceware.org/git/?p=glibc.git;a=commit;h=e0189b25403f8b67e7a5513d6c33fb09cb2e5e20
+Conflict:NA
+---
+ elf/dl-load.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/elf/dl-load.c b/elf/dl-load.c
+index 39c63ff1b3..2aa487b49a 100644
+--- a/elf/dl-load.c
++++ b/elf/dl-load.c
+@@ -1859,7 +1859,7 @@ open_path (const char *name, size_t namelen, int mode,
+ test whether there is any directory at all. */
+ struct __stat64_t64 st;
+
+- buf[buflen - namelen - 1] = '\0';
++ buf[buflen - namelen] = '\0';
+
+ if (__stat64_time64 (buf, &st) != 0
+ || ! S_ISDIR (st.st_mode))
+--
+2.23.0
+