diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog index 9e0da6353e3..e29c41f78ed 100644 --- a/libbacktrace/ChangeLog +++ b/libbacktrace/ChangeLog @@ -1,3 +1,8 @@ +2019-02-12 Tom de Vries + + PR libbacktrace/81983 + * dwarf.c (dwarf_lookup_pc): Don't call bsearch if nmemb == 0. + 2019-02-10 Tom de Vries * Makefile.am (BUILDTESTS): Add btest_lto. diff --git a/libbacktrace/dwarf.c b/libbacktrace/dwarf.c index d7dacf3ef32..f338489fe44 100644 --- a/libbacktrace/dwarf.c +++ b/libbacktrace/dwarf.c @@ -2821,8 +2821,10 @@ dwarf_lookup_pc (struct backtrace_state *state, struct dwarf_data *ddata, *found = 1; /* Find an address range that includes PC. */ - entry = bsearch (&pc, ddata->addrs, ddata->addrs_count, - sizeof (struct unit_addrs), unit_addrs_search); + entry = (ddata->addrs_count == 0 + ? NULL + : bsearch (&pc, ddata->addrs, ddata->addrs_count, + sizeof (struct unit_addrs), unit_addrs_search)); if (entry == NULL) {