From 349d1cd1a34a7f9ee6a93aa6cf839ce0c8ceea28 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Sat, 27 Jun 2015 18:33:37 +0200 Subject: 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 --- tests/ChangeLog | 5 +++++ tests/dwfl-bug-fd-leak.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/ChangeLog b/tests/ChangeLog index 34611682..3e567b34 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 170a61a7..bcbfb290 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)); } -- cgit v1.2.3