Commit Graph

6 Commits

Author SHA1 Message Date
David Anderson
550d3570b2 When LIBDWARFTEMP is defined change the name
of the temp file to start with junk
to better match what is routine in the regressiontests.
And to something that works just fine with Win msys2.
(in msys2 "/tmp/anything" will not work for open(  "wb")
whereas "anything" will work.)
        modified:   fuzz/fuzz_aranges.c
	modified:   fuzz/fuzz_crc.c
	modified:   fuzz/fuzz_crc_32.c
	modified:   fuzz/fuzz_debug_addr_access.c
	modified:   fuzz/fuzz_debug_str.c
	modified:   fuzz/fuzz_debuglink.c
	modified:   fuzz/fuzz_die_cu.c
	modified:   fuzz/fuzz_die_cu_attrs.c
	modified:   fuzz/fuzz_die_cu_attrs_loclist.c
	modified:   fuzz/fuzz_die_cu_e.c
	modified:   fuzz/fuzz_die_cu_e_print.c
	modified:   fuzz/fuzz_die_cu_info1.c
	modified:   fuzz/fuzz_die_cu_offset.c
	modified:   fuzz/fuzz_die_cu_print.c
	modified:   fuzz/fuzz_dnames.c
	modified:   fuzz/fuzz_findfuncbypc.c
	modified:   fuzz/fuzz_gdbindex.c
	modified:   fuzz/fuzz_globals.c
	modified:   fuzz/fuzz_gnu_index.c
	modified:   fuzz/fuzz_init_b.c
	modified:   fuzz/fuzz_init_binary.c
	modified:   fuzz/fuzz_init_path.c
	modified:   fuzz/fuzz_macro_dwarf4.c
	modified:   fuzz/fuzz_macro_dwarf5.c
	modified:   fuzz/fuzz_rng.c
	modified:   fuzz/fuzz_set_frame_all.c
	modified:   fuzz/fuzz_showsectgrp.c
	modified:   fuzz/fuzz_simplereader_tu.c
	modified:   fuzz/fuzz_srcfiles.c
	modified:   fuzz/fuzz_stack_frame_access.c
	modified:   fuzz/fuzz_str_offsets.c
	modified:   fuzz/fuzz_tie.c
	modified:   fuzz/fuzz_xuindex.c
	modified:   src/lib/libdwarf/libdwarf.h
2025-08-20 14:40:18 -07:00
David Anderson
3df08b8af7 These were not treating O_BINARY correctly and/or
failing to use it at all. It is necessary on Windows
to read object files properly.
No change in logic at all.
	modified:   fuzz/fuzz_aranges.c
	modified:   fuzz/fuzz_crc.c
	modified:   fuzz/fuzz_crc_32.c
	modified:   fuzz/fuzz_debug_addr_access.c
	modified:   fuzz/fuzz_debug_str.c
	modified:   fuzz/fuzz_debuglink.c
	modified:   fuzz/fuzz_die_cu.c
	modified:   fuzz/fuzz_die_cu_attrs.c
	modified:   fuzz/fuzz_die_cu_attrs_loclist.c
	modified:   fuzz/fuzz_die_cu_info1.c
	modified:   fuzz/fuzz_die_cu_offset.c
	modified:   fuzz/fuzz_die_cu_print.c
	modified:   fuzz/fuzz_dnames.c
	modified:   fuzz/fuzz_gdbindex.c
	modified:   fuzz/fuzz_globals.c
	modified:   fuzz/fuzz_gnu_index.c
	modified:   fuzz/fuzz_init_b.c
	modified:   fuzz/fuzz_init_binary.c
	modified:   fuzz/fuzz_macro_dwarf4.c
	modified:   fuzz/fuzz_macro_dwarf5.c
	modified:   fuzz/fuzz_rng.c
	modified:   fuzz/fuzz_set_frame_all.c
	modified:   fuzz/fuzz_showsectgrp.c
	modified:   fuzz/fuzz_simplereader_tu.c
	modified:   fuzz/fuzz_srcfiles.c
	modified:   fuzz/fuzz_stack_frame_access.c
	modified:   fuzz/fuzz_str_offsets.c
	modified:   fuzz/fuzz_tie.c
	modified:   fuzz/fuzz_xuindex.c

Fixing the reporting of filenames so that even on msys2
the report is sensible (for msys2)
	modified:   src/bin/dwarfdump/dwarfdump.c

Tweak to make it work.
	modified:   src/lib/libdwarf/meson.build

Introducing the correct header ifdefs involving DWP_API
to match the concept in libdwarf.h
	modified:   src/lib/libdwarfp/libdwarfp.h
2023-11-02 13:15:44 -07:00
David Anderson
8b17d41a31 Document DW202305-006 ossfuzz id: 56472
The test code as written here
gets an error from valgrind for calling libdwarf
with an uninitialized pointer.  The fix is to
initialize the Dwarf_Die instance by adding  = 0;
This was not a libdwarf bug (the original
fix actually fixed a libdwarf bug, and this
valgrind issue pointed out the need for the test case fix..
	modified:   bugxml/data.txt
	modified:   fuzz/fuzz_simplereader_tu.c
2023-05-30 08:00:10 -07:00
David Anderson
1ff4365bd6 Removed all instances of free(errp)
where errp is
   Dwarf_Error *errp
as that is never necessary or appropriate.
Any leftover allocations made in libdwarf
and not 'dwarf_dealloc*' or documented
as user-must-free data returned via pointers
to the caller are
automatically freed by dwarf_finish()
unless there are libdwarf bugs.
	modified:   fuzz_die_cu.c
	modified:   fuzz_die_cu_attrs.c
	modified:   fuzz_die_cu_info1.c
	modified:   fuzz_die_cu_offset.c
	modified:   fuzz_die_cu_print.c
	modified:   fuzz_macro_dwarf5.c
	modified:   fuzz_showsectgrp.c
	modified:   fuzz_simplereader_tu.c
	modified:   fuzz_srcfiles.c
	modified:   fuzz_stack_frame_access.c
	modified:   fuzz_xuindex.c
2023-03-20 11:20:33 -07:00
David Anderson
2eced75af9 All instances of
Dwarf_Error error;
changed to
Dwarf_Error error = 0;
to avoid unwanted stack random bytes in the pointer.
	modified:   fuzz/fuzz_aranges.c
	modified:   fuzz/fuzz_crc_32.c
	modified:   fuzz/fuzz_debug_str.c
	modified:   fuzz/fuzz_die_cu.c
	modified:   fuzz/fuzz_die_cu_attrs.c
	modified:   fuzz/fuzz_die_cu_attrs_loclist.c
	modified:   fuzz/fuzz_die_cu_info1.c
	modified:   fuzz/fuzz_die_cu_offset.c
	modified:   fuzz/fuzz_die_cu_print.c
	modified:   fuzz/fuzz_dnames.c
	modified:   fuzz/fuzz_findfuncbypc.c
	modified:   fuzz/fuzz_gdbindex.c
	modified:   fuzz/fuzz_globals.c
	modified:   fuzz/fuzz_gnu_index.c
	modified:   fuzz/fuzz_init_b.c
	modified:   fuzz/fuzz_macro_dwarf4.c
	modified:   fuzz/fuzz_macro_dwarf5.c
	modified:   fuzz/fuzz_set_frame_all.c
	modified:   fuzz/fuzz_simplereader_tu.c
	modified:   fuzz/fuzz_srcfiles.c
	modified:   fuzz/fuzz_stack_frame_access.c
	modified:   fuzz/fuzz_str_offsets.c
	modified:   fuzz/fuzz_xuindex.c
	modified:   src/lib/libdwarf/dwarf_rnglists.c
2023-03-20 11:07:41 -07:00
David Anderson
9cab819ba3 Source used for testing/fuzzing.
new file:   fuzz/fuzz_aranges.c
	new file:   fuzz/fuzz_crc.c
	new file:   fuzz/fuzz_crc_32.c
	new file:   fuzz/fuzz_debug_addr_access.c
	new file:   fuzz/fuzz_debug_str.c
	new file:   fuzz/fuzz_debuglink.c
	new file:   fuzz/fuzz_die_cu.c
	new file:   fuzz/fuzz_die_cu_attrs.c
	new file:   fuzz/fuzz_die_cu_attrs_loclist.c
	new file:   fuzz/fuzz_die_cu_info1.c
	new file:   fuzz/fuzz_die_cu_offset.c
	new file:   fuzz/fuzz_die_cu_print.c
	new file:   fuzz/fuzz_dnames.c
	new file:   fuzz/fuzz_findfuncbypc.c
	new file:   fuzz/fuzz_gdbindex.c
	new file:   fuzz/fuzz_globals.c
	new file:   fuzz/fuzz_gnu_index.c
	new file:   fuzz/fuzz_init_b.c
	new file:   fuzz/fuzz_init_binary.c
	new file:   fuzz/fuzz_init_path.c
	new file:   fuzz/fuzz_macro_dwarf4.c
	new file:   fuzz/fuzz_macro_dwarf5.c
	new file:   fuzz/fuzz_rng.c
	new file:   fuzz/fuzz_set_frame_all.c
	new file:   fuzz/fuzz_showsectgrp.c
	new file:   fuzz/fuzz_simplereader_tu.c
	new file:   fuzz/fuzz_srcfiles.c
	new file:   fuzz/fuzz_stack_frame_access.c
	new file:   fuzz/fuzz_str_offsets.c
	new file:   fuzz/fuzz_tie.c
	new file:   fuzz/fuzz_xuindex.c
2023-02-18 08:52:54 -08:00