Skip to content

ZS-86 issue in parsing dynsym section.

Jason Hiser requested to merge ZS-86-magick-bug into master

The dynsym section is parsed by objdump/grep. It's terrible and needs to be implemented in C++ to reduce dependence on external tools knowing what they are doing.

In this case, the terrible pattern matching with grep caused a symbol defined in the binary to be missed, because grep -v UND was used to determine whether a symbol "mattered". 1) symbol names might have UND and get eliminated accidentally, but 2) (what really happened) was that the symbol was defined in a section without a "link" field in the dynsym section, thus objdump displayed the section name as UND and thus the code skipped the symbol. Don't use objdump to parse ELF files!

Merge request reports