diff options
| author | Mark Wielaard <[email protected]> | 2014-11-22 23:08:48 +0100 |
|---|---|---|
| committer | Mark Wielaard <[email protected]> | 2014-11-26 20:17:22 +0100 |
| commit | 712c8faddc08844fb1f2814c8b6e817f03b0698e (patch) | |
| tree | df68a29bd32a009875438dfbbd68cbe6f30425c0 /libebl/eblopenbackend.c | |
| parent | 2deeb7c51020df07d752107cdc6822d70ae1da4e (diff) | |
Use elf_getphdrnum instead of accessing ehdr->e_phnum directly.
Using elf_getphdrnum lets us handle ELF files that use more than PN_XNUM
phdrs. And guards against some corrupt files.
Signed-off-by: Mark Wielaard <[email protected]>
Diffstat (limited to 'libebl/eblopenbackend.c')
| -rw-r--r-- | libebl/eblopenbackend.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c index bd947599..3a22f53d 100644 --- a/libebl/eblopenbackend.c +++ b/libebl/eblopenbackend.c @@ -186,7 +186,7 @@ static bool default_check_special_symbol (Elf *elf, GElf_Ehdr *ehdr, static bool default_check_st_other_bits (unsigned char st_other); static bool default_check_special_section (Ebl *, int, const GElf_Shdr *, const char *); -static bool default_bss_plt_p (Elf *elf, GElf_Ehdr *ehdr); +static bool default_bss_plt_p (Elf *elf); static int default_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locops); static ssize_t default_register_info (Ebl *ebl, @@ -693,8 +693,7 @@ default_check_st_other_bits (unsigned char st_other __attribute__ ((unused))) static bool -default_bss_plt_p (Elf *elf __attribute__ ((unused)), - GElf_Ehdr *ehdr __attribute__ ((unused))) +default_bss_plt_p (Elf *elf __attribute__ ((unused))) { return false; } |
