--- a/src/mklibs-readelf/main.cpp +++ b/src/mklibs-readelf/main.cpp @@ -57,6 +57,10 @@ static void process_elf_header (Elf::fil static void process_dynamics (Elf::file *file, int64_t tag) { const Elf::section_type *section = file->get_section_DYNAMIC (); + + if (!section) + return; + for (std::vector::const_iterator it = section->get_dynamics ().begin (); it != section->get_dynamics ().end (); ++it) { Elf::dynamic *dynamic = *it; @@ -67,6 +71,9 @@ static void process_dynamics (Elf::file static void process_symbols_provided (const Elf::section_type *section) { + if (!section) + return; + for (std::vector::const_iterator it = section->get_symbols ().begin (); it != section->get_symbols ().end (); ++it) { const Elf::symbol *symbol = *it; @@ -95,6 +102,9 @@ static void process_symbols_provided (co static void process_symbols_undefined (const Elf::section_type *section) { + if (!section) + return; + for (std::vector::const_iterator it = section->get_symbols ().begin (); it != section->get_symbols ().end (); ++it) { const Elf::symbol *symbol = *it;