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

Loading