On Jun 15 2018, Mark Wielaard wrote:
> How does the result of make check look now on a native riscv system?
FAIL: run-native-test.sh
return_value_location is missing
FAIL: run-low_high_pc.sh
lowpc: 220, highpc: 220lx
../../elfutils/src/size.c: [c84] 'handle_elf' highpc <= lowpc
lowpc: 41c, h
aggregate_size can be called recursively with the result of get_type.
get_type can return NULL when dwarf_peel_type fails. Found by afl-fuzz.
dwarf_aggregate_size when called directly doesn't need a NULL check
because it calls and checks the result of dwarf_peel_type directly.
Signed-off-by: Mark
Limit the number of chained modifiers to 64 (that is 8 chains for all
8 modifiers, most of which cannot be chained). This prevents loops in
the DWARF DIE DW_AT_type references.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 4
libdw/dwarf_peel_type.c | 23 ++
Found by afl-fuzz. An array type (indirectly) referring to itself in the
DIE tree could blow up the stack when dwarf_aggregate_size was called.
Limit the recursion depth to MAX_DEPTH (256) entries.
Signed-off-by: Mark Wielaard
---
libdw/ChangeLog | 8
libdw/dwarf_aggregate
https://sourceware.org/bugzilla/show_bug.cgi?id=23301
Mark Wielaard changed:
What|Removed |Added
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed|