diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog index d3d964b24b2d..60e5f03d0f2b 100644 --- a/libbacktrace/ChangeLog +++ b/libbacktrace/ChangeLog @@ -1,3 +1,7 @@ +2018-12-28 Tom de Vries + + * dwarf.c (build_address_map): Free addrs vector upon failure. + 2018-12-14 Tom de Vries PR testsuite/88491 diff --git a/libbacktrace/dwarf.c b/libbacktrace/dwarf.c index 48ef3638a5f5..37a08ca29a8b 100644 --- a/libbacktrace/dwarf.c +++ b/libbacktrace/dwarf.c @@ -1552,6 +1552,11 @@ build_address_map (struct backtrace_state *state, uintptr_t base_address, fail: free_abbrevs (state, &abbrevs, error_callback, data); free_unit_addrs_vector (state, addrs, error_callback, data); + if (addrs->count > 0) + { + backtrace_vector_free (state, &addrs->vec, error_callback, data); + addrs->count = 0; + } return 0; }