]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
stacktrace: Init elf_fd in sysprof_init_dwfl
authorMark Wielaard <mark@klomp.org>
Thu, 24 Oct 2024 09:06:08 +0000 (11:06 +0200)
committerMark Wielaard <mark@klomp.org>
Thu, 24 Oct 2024 16:37:30 +0000 (18:37 +0200)
When building with LTO gcc believes elf_fd can be used uninitialized:

In function ‘sysprof_init_dwfl’,
    inlined from ‘sysprof_unwind_cb’ at stacktrace.c:1235:16:
stacktrace.c:1087:7: error: ‘elf_fd’ may be used uninitialized [-Werror=maybe-uninitialized]
 1087 |       close (elf_fd);
      |       ^

This code won't be reached because if find_procfile doesn't initialize
elf_fd, it will return an error. But help the compiler by initializing
elf_fd to -1.

* src/stacktrace.c (sysprof_init_dwfl): Init elf_fd to -1.

Signed-off-by: Mark Wielaard <mark@klomp.org>
src/stacktrace.c

index 438cb1dd0d389f2dadc140bf4d3968448ca14ec9..b912ca5de5026f88f4466ededf8a0efe4d0d19bf 100644 (file)
@@ -1033,7 +1033,7 @@ sysprof_init_dwfl (struct sysprof_unwind_info *sui,
     }
 
   Elf *elf = NULL;
-  int elf_fd;
+  int elf_fd = -1;
   err = find_procfile (dwfl, &pid, &elf, &elf_fd);
   if (err < 0)
     {