Skip to contentSkip to conversation

ext4: Fix memleak in ext4_readdir()

PATCH Applied Kirill Tkhai 2 participants 2 messages Jan 19, 2016 – Feb 16, 2016 ext4 file system

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ext4: Fix memleak in ext4_readdir()

When ext4_bread() fails, fname_crypto_str remains allocated after return. Fix that.

CC Theodore Ts'o <[email protected]>
CC Dmitry Monakhov <[email protected]>
---
 fs/ext4/dir.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
fs/ext4/dir.c +5 -2
index 1d1bca7..def3215 100644
@@ -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) {