OSDN Git Service

Close device and free super block on failure to read boot sector.
authorresver@gmail.com <resver@gmail.com@60bc1c72-a15a-11de-b98f-4500b42dc123>
Tue, 6 Aug 2013 19:54:09 +0000 (19:54 +0000)
committerresver@gmail.com <resver@gmail.com@60bc1c72-a15a-11de-b98f-4500b42dc123>
Tue, 6 Aug 2013 19:54:09 +0000 (19:54 +0000)
git-svn-id: http://exfat.googlecode.com/svn/trunk@378 60bc1c72-a15a-11de-b98f-4500b42dc123

libexfat/mount.c

index f671686..d10fc98 100644 (file)
@@ -189,6 +189,8 @@ int exfat_mount(struct exfat* ef, const char* spec, const char* options)
 
        if (exfat_pread(ef->dev, ef->sb, sizeof(struct exfat_super_block), 0) < 0)
        {
+               exfat_close(ef->dev);
+               free(ef->sb);
                exfat_error("failed to read boot sector");
                return -EIO;
        }