diff options
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.patch | 31 |
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 + |