diff mbox

ext4: Fix memleak in ext4_readdir()

Message ID 569E4B40.3060506@virtuozzo.com
State Accepted, archived
Headers show

Commit Message

Kirill Tkhai Jan. 19, 2016, 2:42 p.m. UTC
When ext4_bread() fails, fname_crypto_str remains
allocated after return. Fix that.

Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
CC: Theodore Ts'o <tytso@mit.edu>
CC: Dmitry Monakhov <dmonakhov@virtuozzo.com>
---
 fs/ext4/dir.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Theodore Ts'o Feb. 16, 2016, 5:25 a.m. UTC | #1
On Tue, Jan 19, 2016 at 05:42:08PM +0300, Kirill Tkhai wrote:
> When ext4_bread() fails, fname_crypto_str remains
> allocated after return. Fix that.
> 
> Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
> CC: Theodore Ts'o <tytso@mit.edu>
> CC: Dmitry Monakhov <dmonakhov@virtuozzo.com>

Applied, thanks.

					- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c
index 1d1bca7..def3215 100644
--- a/fs/ext4/dir.c
+++ b/fs/ext4/dir.c
@@ -157,8 +157,11 @@  static int ext4_readdir(struct file *file, struct dir_context *ctx)
 					index, 1);
 			file->f_ra.prev_pos = (loff_t)index << PAGE_CACHE_SHIFT;
 			bh = ext4_bread(NULL, inode, map.m_lblk, 0);
-			if (IS_ERR(bh))
-				return PTR_ERR(bh);
+			if (IS_ERR(bh)) {
+				err = PTR_ERR(bh);
+				bh = NULL;
+				goto errout;
+			}
 		}
 
 		if (!bh) {