summaryrefslogtreecommitdiffstats
path: root/fs/udf/namei.c
diff options
context:
space:
mode:
authorJesper Juhl <jj@chaosbits.net>2010-12-12 23:18:15 +0100
committerJan Kara <jack@suse.cz>2011-01-06 17:53:53 +0100
commita4264b3f4049ae7aeeb0017f8158119e22fa354f (patch)
tree51d24bb133431b9bc1effb1067436b6e786f2274 /fs/udf/namei.c
parent4651c5900e7a3c84d4b70412f8bbc40c1bcb50cf (diff)
downloadlinux-a4264b3f4049ae7aeeb0017f8158119e22fa354f.tar.gz
linux-a4264b3f4049ae7aeeb0017f8158119e22fa354f.tar.bz2
linux-a4264b3f4049ae7aeeb0017f8158119e22fa354f.zip
UDF: Close small mem leak in udf_find_entry()
Hi, There's a small memory leak in fs/udf/namei.c::udf_find_entry(). We dynamically allocate memory for 'fname' with kmalloc() and in most situations we free it before we leave the function, but there is one situation where we do not (but should). This patch closes the leak by jumping to the 'out_ok' label which does the correct cleanup rather than doing half the cleanup and returning directly. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/udf/namei.c')
-rw-r--r--fs/udf/namei.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/udf/namei.c b/fs/udf/namei.c
index a2974f7563a2..2be0f9eb86d2 100644
--- a/fs/udf/namei.c
+++ b/fs/udf/namei.c
@@ -227,10 +227,8 @@ static struct fileIdentDesc *udf_find_entry(struct inode *dir,
}
if ((cfi->fileCharacteristics & FID_FILE_CHAR_PARENT) &&
- isdotdot) {
- brelse(epos.bh);
- return fi;
- }
+ isdotdot)
+ goto out_ok;
if (!lfi)
continue;