[PATCH] rtld: properly handle root directory in load path (bug 30435)

Siddhesh Poyarekar siddhesh@gotplt.org
Thu May 25 12:37:41 GMT 2023


On 2023-05-25 08:33, Adhemerval Zanella Netto wrote:
> 
> 
> On 16/05/23 11:37, Andreas Schwab via Libc-alpha wrote:
>> Don't strip the trailing slash when checking for existence of a load path
>> element to handle the special case of the root directory.
>> ---
>>   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))
> 
> Which is difference between this and another fix for this very issue [1]?
> And what about the testcase [2], this should really have a regression
> tests.
> 
> [1] https://sourceware.org/pipermail/libc-alpha/2023-May/147956.html
> [2] https://sourceware.org/pipermail/libc-alpha/2023-May/147957.html
> 

Ugh, sorry I missed them.  I'll review the test case for inclusion.

Thanks for keeping track!

Sid


More information about the Libc-alpha mailing list