This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] ldconfig: handle .dynstr located in separate segment (bug 25087)
- From: Andreas Schwab <schwab at suse dot de>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: libc-alpha at sourceware dot org
- Date: Wed, 16 Oct 2019 15:25:36 +0200
- Subject: Re: [PATCH] ldconfig: handle .dynstr located in separate segment (bug 25087)
- References: <mvmsgo1q758.fsf@suse.de> <87zhi1567u.fsf@oldenburg2.str.redhat.com>
On Okt 16 2019, Florian Weimer <fweimer@redhat.com> wrote:
> * Andreas Schwab:
>
>> + && dyn_entry->d_un.d_val < segment->p_vaddr + segment->p_filesz)
>
>> + dynamic_strings = (char *) (file_contents + dyn_entry->d_un.d_val - loadoff);
>
> I think these lines are too long. I also suspect that the condition
> should be written as
>
> dyn_entry->d_un.d_val - segment->p_vaddr < segment->p_filesz
Ok.
> Is it possible to write a test case for bug 25087?
The broken layout is created by patchelf, but I have no idea how to
replicate it without that.
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."