]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
src/readelf.c: Close skel_fd
authorAaron Merey <amerey@redhat.com>
Sat, 25 Jan 2025 01:21:57 +0000 (20:21 -0500)
committerAaron Merey <amerey@redhat.com>
Sat, 25 Jan 2025 01:21:57 +0000 (20:21 -0500)
skel_fd is passed to create_dwfl, which calls dup() on skel_fd.
create_dwfl handles closing the duped fd but not the original.

Ensure the original skel_fd is closed after it's passed to create_dwfl.

Signed-off-by: Aaron Merey <amerey@redhat.com>
src/readelf.c

index 3e97b64cb493c8c45efa6f9535521b03e4403118..6526db07bec1f63169106251406c5073fe609351 100644 (file)
@@ -11921,7 +11921,13 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr)
                fprintf (stderr, "Warning: Couldn't open DWARF skeleton file"
                         " '%s'\n", skel_name);
              else
-               skel_dwfl = create_dwfl (skel_fd, skel_name);
+               {
+                 skel_dwfl = create_dwfl (skel_fd, skel_name);
+
+                 /* skel_fd was dup'ed by create_dwfl.  We can close the
+                    original now.  */
+                 close (skel_fd);
+               }
 
              if (skel_dwfl != NULL)
                {