summaryrefslogtreecommitdiff
path: root/fs/qnx4/inode.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-01-19 13:54:36 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2012-01-19 13:54:36 -0500
commit8bc5191b261c4fd9a5e9052cebe04ce2ef05f2e7 (patch)
treee6cbfb89710d748909156c3f728fe3e1bf613816 /fs/qnx4/inode.c
parent4134bf81ffd962f4de9bbeca55130d2238bd3698 (diff)
downloadlwn-8bc5191b261c4fd9a5e9052cebe04ce2ef05f2e7.tar.gz
lwn-8bc5191b261c4fd9a5e9052cebe04ce2ef05f2e7.zip
qnx4: don't leak ->BitMap on late failure exits
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/qnx4/inode.c')
-rw-r--r--fs/qnx4/inode.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/qnx4/inode.c b/fs/qnx4/inode.c
index 3fd121c7c30a..6b009548d2e0 100644
--- a/fs/qnx4/inode.c
+++ b/fs/qnx4/inode.c
@@ -256,7 +256,7 @@ static int qnx4_fill_super(struct super_block *s, void *data, int silent)
if (IS_ERR(root)) {
printk(KERN_ERR "qnx4: get inode failed\n");
ret = PTR_ERR(root);
- goto out;
+ goto outb;
}
ret = -ENOMEM;
@@ -269,6 +269,8 @@ static int qnx4_fill_super(struct super_block *s, void *data, int silent)
outi:
iput(root);
+ outb:
+ kfree(qs->BitMap);
out:
brelse(bh);
outnobh: