aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2011-11-28 18:57:04 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2011-11-28 18:57:04 +0100
commit901365fcffbc318395d24a05b6951288562da6af (patch)
tree556b3f3583107d663165a88bcad0ad7af269566e
parent1fd7129bc6b3792f2dc5ff08a77f167c7e628093 (diff)
downloadbusybox-w32-901365fcffbc318395d24a05b6951288562da6af.tar.gz
busybox-w32-901365fcffbc318395d24a05b6951288562da6af.tar.bz2
busybox-w32-901365fcffbc318395d24a05b6951288562da6af.zip
old_e2fsprogs/blkid: close the fd after we are done with it
Some people have HUGE /dev/*... Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--e2fsprogs/old_e2fsprogs/blkid/probe.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/e2fsprogs/old_e2fsprogs/blkid/probe.c b/e2fsprogs/old_e2fsprogs/blkid/probe.c
index 77bfc737d..651193b42 100644
--- a/e2fsprogs/old_e2fsprogs/blkid/probe.c
+++ b/e2fsprogs/old_e2fsprogs/blkid/probe.c
@@ -575,8 +575,12 @@ blkid_dev blkid_verify(blkid_cache cache, blkid_dev dev)
575 printf("need to revalidate %s (time since last check %lu)\n", 575 printf("need to revalidate %s (time since last check %lu)\n",
576 dev->bid_name, diff)); 576 dev->bid_name, diff));
577 577
578 if (((fd = open(dev->bid_name, O_RDONLY)) < 0) || 578 fd = open(dev->bid_name, O_RDONLY);
579 (fstat(fd, &st) < 0)) { 579 if (fd < 0
580 || fstat(fd, &st) < 0
581 ) {
582 if (fd >= 0)
583 close(fd);
580 if (errno == ENXIO || errno == ENODEV || errno == ENOENT) { 584 if (errno == ENXIO || errno == ENODEV || errno == ENOENT) {
581 blkid_free_dev(dev); 585 blkid_free_dev(dev);
582 return NULL; 586 return NULL;
@@ -653,6 +657,7 @@ try_again:
653 657
654 if (!dev->bid_type) { 658 if (!dev->bid_type) {
655 blkid_free_dev(dev); 659 blkid_free_dev(dev);
660 close(fd);
656 return NULL; 661 return NULL;
657 } 662 }
658 663