Handle an edge case in the dwarf code

This commit is contained in:
Jeremy 2023-09-22 10:22:58 -04:00
parent 7aa89296a1
commit 631d00470d
No known key found for this signature in database
GPG Key ID: 3E11861CB34E158C

View File

@ -820,9 +820,14 @@ namespace libdwarf {
if(vec_it != vec.begin()) { if(vec_it != vec.begin()) {
vec_it--; vec_it--;
} }
//vec_it->die.print(); // If the vector has been empty this can happen
if(vec_it->die.pc_in_die(dwversion, pc)) { if(vec_it != vec.end()) {
retrieve_symbol_for_subprogram(vec_it->die, pc, dwversion, frame); //vec_it->die.print();
if(vec_it->die.pc_in_die(dwversion, pc)) {
retrieve_symbol_for_subprogram(vec_it->die, pc, dwversion, frame);
}
} else {
CPPTRACE_ASSERT(vec.size() == 0, "Vec should be empty?");
} }
} }