diff options
author | Mark Wielaard <mark@klomp.org> | 2018-08-12 15:35:18 +0200 |
---|---|---|
committer | Mark Wielaard <mark@klomp.org> | 2018-09-13 14:25:22 +0200 |
commit | fb0457f4671e7e0f8331453348005ed6beab275e (patch) | |
tree | 5efa18a7afd9543e644e4e2ab2b14a4d9f887498 /ABOUT-NLS | |
parent | a1e892e920bbde60a9daa1f98c105c227ee7427d (diff) | |
download | elfutils-fb0457f4671e7e0f8331453348005ed6beab275e.tar.gz |
libelf: Fix some issues with ELF_C_RDWR_MMAP.
When ELF_C_RDWR_MMAP is used libelf might have to write overlapping memory
when moving the section data or headers. Make sure to use memmove, not
memcpy. Also the size of the underlying file might have to change. That
means we will have to also extend the mmap region with mremap. Since we
are using direct pointers into the mmapped area we cannot move the mmap,
only extend it. This might still fail if there is not enough free memory
available to extend the mmap region.
Two new test programs have been added. elfcopy which copies a whole elf
file (using either ELF_C_WRITE or ELF_C_WRITE_MMAP). And addsections which
adds new sections to an existing ELF file (using either ELF_C_RDWR or
ELF_C_RDWR_MMAP). The newly added test will fail under valgrind without
the fixes.
Signed-off-by: Mark Wielaard <mark@klomp.org>
Diffstat (limited to 'ABOUT-NLS')
0 files changed, 0 insertions, 0 deletions