HomeFreeBSD

Keep shadow copies of the `e_shnum', `e_phnum' and `e_shstrndx'
rS165535Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

Keep shadow copies of the e_shnum', e_phnum' and `e_shstrndx'
members of the ELF Executable Header inside the library-private
`struct _Elf' descriptor and only update the underlying Elf{32,64}_Ehdr
structure on an elf_update(3) call. These fields of the Ehdr
structure are technically `out of bounds' for an application program
per the ELF(3) API, but we've seen applications that initialize
a new Ehdr structure using memcpy(), messing up the library's
invariants. [1]

Implement elf_getphnum() and handle ELF objects with more than
64K program header table entries.

Reported by: jb [1]

Details

Provenance
jkoshyAuthored on
Parents
rS165534: Use strncpy() instead of strlcpy() when copying members of
Branches
Unknown
Tags
Unknown

Event Timeline