btrfs-progs: close fd on do_convert error returns
authorEric Sandeen <sandeen@redhat.com>
Mon, 4 Mar 2013 22:39:52 +0000 (16:39 -0600)
committerDavid Sterba <dsterba@suse.cz>
Sun, 10 Mar 2013 14:48:47 +0000 (15:48 +0100)
stops an fd leak that Coverity found.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
convert.c

index 2b3f42f..4a75895 100644 (file)
--- a/convert.c
+++ b/convert.c
@@ -2277,7 +2277,8 @@ err:
 
 int do_convert(const char *devname, int datacsum, int packing, int noxattr)
 {
-       int i, fd, ret;
+       int i, ret;
+       int fd = -1;
        u32 blocksize;
        u64 blocks[7];
        u64 total_bytes;
@@ -2407,6 +2408,8 @@ int do_convert(const char *devname, int datacsum, int packing, int noxattr)
        printf("conversion complete.\n");
        return 0;
 fail:
+       if (fd != -1)
+               close(fd);
        fprintf(stderr, "conversion aborted.\n");
        return -1;
 }