libdwarf/dwarf_errmsg_list.c
libdwarf/libdwarf.h.in
Test for inconsistent line table header data
and provide a default string indicating failure
in case the inconsistency test is inadequate.
libdwarf/dwarf_line.c
libdwarf/dwarf_line_table_reader_common.c
modified: bugxml/readbugs.py
Fixed an incorrect length check to prevent a crash.
modified: dwarfdump/print_frames.c
Set a macro structure field that was left unset.
No longer creates a zero-length malloc field.
modified: libdwarf/dwarf_macro5.c
More like other configure setups.
dwarfdump/configure.in
Regenerate.
dwarfdump/configure
Fix spelling mistakes, and an erroneous . in column 1.
dwarfdump/dwarfdump.1
CFLAGS is no on HOST_CFLAGS.
libdwarf/Makefile.in
Improve the output with respect to things tested.
More like other configure setups.
libdwarf/configure.in
Regenerate.
libdwarf/configure
* print_die.c: Fix typo in error message.
* print_frames.c: Do additional checks for incorrect data
when printing frame instructions to avoid dwarfdump crash..
libdwarf
* dwarf_form.c: Directly check expression length against
section length in case expression length very very large.
* dwarf_query.c: _dwarf_calculate_info_section_*() routines
made clearer and the *_start_ptr() instance also now returns
the length (via a pointer arg).
* dwarf_xu_index.c: Check data read from the section so
a wildly large columns count or slots count will be caught
and an error returned.
Now we can use <pre></pre> to preserve lines where
appropriate.
modified: bugrecord.py
modified: readbugs.py
New vulnerabilities added.
modified: data.txt
bugxml/data.txt
Fix indents, remove trailing whitespace.
dwarfdump/print_abbrevs.c
dwarfdump/print_aranges.c
dwarfdump/print_frames.c
dwarfdump/print_sections.c
Ensure we check dwarf functtion status return.
These sources used only at build time.
dwarfdump/tag_attr.c
dwarfdump/tag_tree.c
Moved a couple functions between source files
and made them static. A couple commentary changes.
print_frames.c, though, needed hardening against
corrupt frame data.
dwarfdump/globals.h
dwarfdump/print_aranges.c
dwarfdump/print_die.c
dwarfdump/print_frames.c
dwarfdump/print_sections.c
All data reads from an object ensure the
read is actually in a section.
It is always possible something was overlooked, but
all the reading macros and functions now do checks.
libdwarf/dwarf_arange.c
libdwarf/dwarf_die_deliv.c
libdwarf/dwarf_errmsg_list.c
libdwarf/dwarf_form.c
libdwarf/dwarf_frame.c
libdwarf/dwarf_frame2.c
libdwarf/dwarf_global.c
libdwarf/dwarf_line.c
libdwarf/dwarf_line_table_reader_common.c
libdwarf/dwarf_loc.c
libdwarf/dwarf_loc2.c
libdwarf/dwarf_macro5.c
libdwarf/dwarf_opaque.h
libdwarf/dwarf_print_lines.c
libdwarf/dwarf_query.c
libdwarf/dwarf_ranges.c
libdwarf/dwarf_util.c
libdwarf/dwarf_util.h
libdwarf/dwarf_xu_index.c
libdwarf/libdwarf.h.in
bugxml/data.txt
libdwarf
* dwarf_errmsg_list.c: Added DW_DLE_ZLIB_SECTION_SHORT.
* dwarf_form.c: Now checking for section overrun.
* dwarf_init_finish.c: Now checking zlib reading
for section overrun.
* dwarf_macro5.c: Now checking for section overrun and
also fixing double delete caused by having
_dwarf_get_alloc() space pointing at other _dwarf_get_alloc()
space. Because in case of error the order of free
of such is unpredictable!
* dwarf_macro5.h: Added comment on mc_srcfiles member.
* libdwarf.h.in: Added DW_DLE_ZLIB_SECTION_SHORT.
bugxml/data.txt
Now prints strings so that
control characters do not
cause problems. Easier to read too.
dwarfdump/Makefile.in
dwarfdump/NEWS
dwarfdump/dwarfdump.1
dwarfdump/dwarfdump.c
dwarfdump/globals.h
dwarfdump/print_die.c
dwarfdump/print_frames.c
dwarfdump/print_lines.c
dwarfdump/print_macro.c
dwarfdump/print_macros.c
dwarfdump/sanitized.c
Removed trailing whitespace.
dwarfexample/simplereader.c
New checking for corrupt input.
libdwarf/dwarf_errmsg_list.c
libdwarf/dwarf_form.c
libdwarf/dwarf_line.c
libdwarf/dwarf_opaque.h
libdwarf/dwarf_query.c
libdwarf/dwarf_util.h
libdwarf/libdwarf.h.in
Used to create a public record.
new file: bugxml/README
new file: bugxml/bugrecord.py
new file: bugxml/data.template
new file: bugxml/data.txt
new file: bugxml/readbugs.py
standard tables: header says lno now,
for line number (row was incorrect).
dwarfdump/dwarfdump.c
dwarfdump/print_die.c
dwarfdump/print_lines.c
New checks for correctness and section overrun.
Fixed duplicate free due to bug in DWARF5 macro
handling.
libdwarf/dwarf_arange.c
libdwarf/dwarf_die_deliv.c
libdwarf/dwarf_elf_access.c
libdwarf/dwarf_errmsg_list.c
libdwarf/dwarf_frame2.c
libdwarf/dwarf_leb.c
libdwarf/dwarf_line.c
libdwarf/dwarf_line.h
libdwarf/dwarf_line_table_reader_common.c
libdwarf/dwarf_macro5.c
libdwarf/dwarf_util.h
libdwarf/libdwarf.h.in
* dwarf_arange.c,dwarf_util.c: first use of READ_UNALIGNED_CK.
* dwarf_errmsg_list.c, libdwarf.h.in: DW_DLE_READ_LITTLEENDIAN_ERROR
and DW_DLE_READ_BIGENDIAN_ERROR are errors possible
in READ_UNALIGNED_CK.
* dwarf_query.c: Using local variables for shorter lines.
* dwarf_util.h: Implement READ_UNALIGNED_CK macros.
Preventing a wide class of crashes due to damaged
object files.
libdwarf/dwarf_arange.c
libdwarf/dwarf_frame.c
libdwarf/dwarf_frame.h
libdwarf/dwarf_frame2.c
libdwarf/dwarf_line_table_reader_common.c
libdwarf/dwarf_loc2.c
* dwarf_die_deliv.c: Now _dwarf_next_die_info_ptr() has
a section end argument.
* dwarf_query.c, dwarf_util.c: Now uses the checked version
of leb reading.
* dwarf_util.h: Now _dwarf_get_size_of_val() has
section_end_ptr argument for checking leb values
do not overrun end of section.
dwarfdump/dwarfdump.c
Ensure dependency on dwarf_errmsg_list.c
libdwarf/Makefile.in
Do much much more testing to ensure we do not
run off the end of section or accept a bogus
leb number.
libdwarf/dwarf_abbrev.c
libdwarf/dwarf_die_deliv.c
libdwarf/dwarf_errmsg_list.c
libdwarf/dwarf_frame.c
libdwarf/dwarf_frame.h
libdwarf/dwarf_frame2.c
libdwarf/dwarf_frame3.c
libdwarf/dwarf_leb.c
libdwarf/dwarf_line.c
libdwarf/dwarf_line.h
libdwarf/dwarf_line_table_reader_common.c
libdwarf/dwarf_opaque.h
libdwarf/dwarf_query.c
libdwarf/dwarf_util.c
libdwarf/dwarf_util.h
libdwarf/libdwarf.h.in
* dwarf_tied.c: A C11-ism crept in. Fixed.
Added 'static' to local function declaration.
Removed unused local variable.
* dwarf_errmsg_list.c: Now checks that the number in ()
matches the index (and still checks that the array size
is the declared size) when compiled -DTESTING.
dwarf_errmsg_list.c: Fixed indent mistakes.
dwarf_leb.c: Fixed places where leb128_length
was assumed non-null (dwarf_form.c passes NULL!).
Made the NULL tests more consistent in appearance.