diff --git a/tools/debugedit.c b/tools/debugedit.c index 8e85847d1..ff72759ca 100644 --- a/tools/debugedit.c +++ b/tools/debugedit.c @@ -1155,7 +1155,7 @@ get_line_table (DSO *dso, size_t off, struct line_table **table) if (lines->table[i].old_idx == off) { *table = &lines->table[i]; - return false; + return true; } if (lines->size == lines->used) @@ -1621,7 +1621,8 @@ read_dwarf2_line (DSO *dso, uint32_t off, char *comp_dir) } dso->lines.debug_lines_len += 4 + table->unit_length + table->size_diff; - return table->replace_dirs || table->replace_files; + need_stmt_update = table->replace_dirs || table->replace_files; + return true; } /* Called during phase one, after the table has been sorted. */ @@ -1939,9 +1940,11 @@ edit_attributes (DSO *dso, unsigned char *ptr, struct abbrev_tag *t, int phase) that). Note that calculating the new size and offsets is done separately (at the end of phase zero after all CUs have been scanned in dwarf2_edit). */ - if (phase == 0 && found_list_offs - && read_dwarf2_line (dso, list_offs, comp_dir)) - need_stmt_update = true; + if (found_list_offs && ! read_dwarf2_line (dso, list_offs, comp_dir)) + { + free (comp_dir); + return NULL; + } free (comp_dir); @@ -2059,7 +2062,10 @@ edit_info (DSO *dso, int phase, struct debug_section *sec) ptr = edit_attributes (dso, ptr, t, phase); if (ptr == NULL) - break; + { + htab_delete (abbrev); + return 1; + } } htab_delete (abbrev);
_______________________________________________ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint