NeilBrown [off-list ref] writes:
On Wed, Mar 09 2016, Jes.Sorensen@redhat.com wrote:
quoted
From: Jes Sorensen <redacted>
The code would leak 'fd' if locate_bitmap() failed.
Signed-off-by: Jes Sorensen <redacted>
---
bitmap.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/bitmap.c b/bitmap.c
index 5ad7401..0367d13 100644
--- a/bitmap.c
+++ b/bitmap.c
@@ -224,6 +224,7 @@ int bitmap_file_open(char *filename, struct supertype **stp, int node_num)
} else {
if (st->ss->locate_bitmap(st, fd, node_num)) {
pr_err("%s doesn't have bitmap\n", filename);
+ close(fd);
fd = -1;
}
}
Don't you also need a 'close' in
} else if (!st->ss->locate_bitmap) {
pr_err("No bitmap possible with %s metadata\n",
st->ss->name);
return -1;
??
I probably need new glasses too :)
Thanks for catching that!
Cheers,
Jes