From: Pino Toscano Date: Sat, 27 Jun 2015 16:33:37 +0000 (+0200) Subject: tests: dwfl-bug-fd-leak: Guard against null module addresses X-Git-Tag: elfutils-0.164~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=349d1cd1a34a7f9ee6a93aa6cf839ce0c8ceea28;p=thirdparty%2Felfutils.git tests: dwfl-bug-fd-leak: Guard against null module addresses Do not crash if there is no module for the given address. Signed-off-by: Pino Toscano --- diff --git a/tests/ChangeLog b/tests/ChangeLog index 346116823..3e567b340 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,8 @@ +2015-06-27 Pino Toscano + + * tests/dwfl-bug-fd-leak.c (elfutils_open): Check for null results of + dwfl_addrmodule. + 2015-06-26 Pino Toscano * tests/vdsosyms.c [!__linux__] (main): Mark argv as unused. diff --git a/tests/dwfl-bug-fd-leak.c b/tests/dwfl-bug-fd-leak.c index 170a61a7f..bcbfb290c 100644 --- a/tests/dwfl-bug-fd-leak.c +++ b/tests/dwfl-bug-fd-leak.c @@ -65,7 +65,11 @@ elfutils_open (pid_t pid, Dwarf_Addr address) } else { - Elf *elf = dwfl_module_getelf (dwfl_addrmodule (dwfl, address), &bias); + Dwfl_Module *module = dwfl_addrmodule (dwfl, address); + if (module == NULL) + error (2, 0, "dwfl_addrmodule: no module available for 0x%" PRIx64 "", + address); + Elf *elf = dwfl_module_getelf (module, &bias); if (elf == NULL) error (2, 0, "dwfl_module_getelf: %s", dwfl_errmsg (-1)); }