diff options
author | Joern Engel <joern@logfs.org> | 2009-11-23 08:29:12 -0500 |
---|---|---|
committer | Joern Engel <joern@logfs.org> | 2009-11-23 08:29:12 -0500 |
commit | ddfd1f04b7bc557c1fe9b110e99cebb2e19d4993 (patch) | |
tree | 797746cc7cd2334ae16014ed547f7593846a14f5 /fs/logfs/dir.c | |
parent | ef6ada3de49074a913fb72f163657158be2c0e98 (diff) |
[LogFS] Plug memory leak on error paths
Spotted by Dan Carpenter.
Diffstat (limited to 'fs/logfs/dir.c')
-rw-r--r-- | fs/logfs/dir.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/logfs/dir.c b/fs/logfs/dir.c index 89104e6f81c4..e7659b15a907 100644 --- a/fs/logfs/dir.c +++ b/fs/logfs/dir.c | |||
@@ -224,10 +224,14 @@ static int logfs_unlink(struct inode *dir, struct dentry *dentry) | |||
224 | inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; | 224 | inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
225 | 225 | ||
226 | page = logfs_get_dd_page(dir, dentry); | 226 | page = logfs_get_dd_page(dir, dentry); |
227 | if (!page) | 227 | if (!page) { |
228 | kfree(ta); | ||
228 | return -ENOENT; | 229 | return -ENOENT; |
229 | if (IS_ERR(page)) | 230 | } |
231 | if (IS_ERR(page)) { | ||
232 | kfree(ta); | ||
230 | return PTR_ERR(page); | 233 | return PTR_ERR(page); |
234 | } | ||
231 | index = page->index; | 235 | index = page->index; |
232 | page_cache_release(page); | 236 | page_cache_release(page); |
233 | 237 | ||