diff --git a/dmraid-fdleak.patch b/dmraid-fdleak.patch index ef94d23..03bea8e 100644 --- a/dmraid-fdleak.patch +++ b/dmraid-fdleak.patch @@ -1,7 +1,7 @@ Index: libdmraid-events/libdmraid-events.c =================================================================== --- libdmraid-events/libdmraid-events.c.orig 2008-07-18 23:30:05.000000000 +0200 -+++ libdmraid-events/libdmraid-events.c 2009-10-03 14:55:34.000000000 +0200 ++++ libdmraid-events/libdmraid-events.c 2009-10-05 23:39:07.000000000 +0200 @@ -180,6 +180,7 @@ static int _repopulate(const char* devic } fscanf(fd, "%s", curr->raid_mem[curr->num_sata_drives].major_minor); @@ -18,3 +18,24 @@ Index: libdmraid-events/libdmraid-events.c rv_next->raid_mem[m].port_num = atoi(dir_ent[j]->d_name); m++; break; +Index: lib/device/partition.c +=================================================================== +--- lib/device/partition.c.orig 2009-10-05 23:39:06.000000000 +0200 ++++ lib/device/partition.c 2009-10-06 00:19:12.000000000 +0200 +@@ -30,12 +30,15 @@ _remove_subset_partitions(struct lib_con + /* There is no way to enumerate partitions */ + for (part.pno = 1; part.pno <= 256; part.pno++) { + if (ioctl(fd, BLKPG, &io) < 0 && errno != ENXIO && +- (part.pno < 16 || errno != EINVAL)) ++ (part.pno < 16 || errno != EINVAL)) { ++ close(fd); + LOG_ERR(lc, 0, + "removing part %d from %s: %s\n", + part.pno, rd->di->path, + strerror(errno)); ++ } + } ++ close(fd); + } + return 1; + } diff --git a/dmraid.changes b/dmraid.changes index 323363b..daf7b9a 100644 --- a/dmraid.changes +++ b/dmraid.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Oct 5 22:19:52 UTC 2009 - crrodriguez@opensuse.org + +- fix a few more fdleaks [bnc#543151] + ------------------------------------------------------------------- Sat Oct 3 13:21:37 UTC 2009 - crrodriguez@opensuse.org