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 + | 
