Static analyzer reported: Return value of a function 'elf_strptr' is dereferenced at readelf.c:7171 without checking for NULL, but it is usually checked for this function (71/74).
Corrections explained: - Added a NULL check for the scnname variable, which contains the result of the elf_strptr call. - The check is placed before the first use of scnname to prevent dereferencing a NULL pointer. Triggers found by static analyzer Svace. Signed-off-by: Anton Moryakov <ant.v.morya...@gmail.com> --- src/readelf.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/readelf.c b/src/readelf.c index 6526db07..86ab3d37 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -7168,6 +7168,11 @@ print_debug_frame_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr, return; } + if (scnname == NULL) + { + error (0, 0, _("cannot get section name: %s"), elf_errmsg (-1)); + return; + } bool is_eh_frame = strcmp (scnname, ".eh_frame") == 0; Elf_Data *data; if (is_eh_frame) -- 2.30.2