32 lines
1000 B
Diff
32 lines
1000 B
Diff
|
|
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
|
|
|