From: Theodore Ts'o Date: Fri, 24 Mar 2006 03:14:54 +0000 (-0500) Subject: Fix file descriptor leak in blkid library in error paths X-Git-Tag: E2FSPROGS-1.39-WIP-0330~17 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=2858c94e35909c9edcc434acc1b83746143e704e;p=tools%2Fe2fsprogs.git Fix file descriptor leak in blkid library in error paths Signed-off-by: "Theodore Ts'o" --- diff --git a/lib/blkid/ChangeLog b/lib/blkid/ChangeLog index d46df09..8b4eea0 100644 --- a/lib/blkid/ChangeLog +++ b/lib/blkid/ChangeLog @@ -1,3 +1,7 @@ +2006-03-23 Theodore Ts'o + + * probe.c (blkid_verify): Fix file descriptor leak on error. + 2006-03-19 Theodore Ts'o * devname.c (dm_probe_all, dm_device_is_leaf): Make the diff --git a/lib/blkid/probe.c b/lib/blkid/probe.c index 4d78ec2..3ce1e4c 100644 --- a/lib/blkid/probe.c +++ b/lib/blkid/probe.c @@ -770,6 +770,7 @@ blkid_dev blkid_verify(blkid_cache cache, blkid_dev dev) if (((probe.fd = open(dev->bid_name, O_RDONLY)) < 0) || (fstat(probe.fd, &st) < 0)) { + if (probe.fd >= 0) close(fd); if (errno == ENXIO || errno == ENODEV || errno == ENOENT) { blkid_free_dev(dev); return NULL; @@ -837,6 +838,7 @@ try_again: } if (!dev->bid_type) { + if (probe.fd >= 0) close(fd); blkid_free_dev(dev); return NULL; }