All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] udf: prevent memory leak in udf_new_inode
@ 2019-09-25 21:39 Navid Emamdoost
  2019-09-25 22:24 ` Al Viro
  0 siblings, 1 reply; 4+ messages in thread
From: Navid Emamdoost @ 2019-09-25 21:39 UTC (permalink / raw)
  Cc: emamd001, kjlu, smccaman, Navid Emamdoost, Jan Kara, linux-kernel

In udf_new_inode if either udf_new_block or insert_inode_locked fials
the allocated memory for iinfo->i_ext.i_data should be released.

Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
---
 fs/udf/ialloc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/udf/ialloc.c b/fs/udf/ialloc.c
index 0adb40718a5d..b8ab3acab6b6 100644
--- a/fs/udf/ialloc.c
+++ b/fs/udf/ialloc.c
@@ -86,6 +86,7 @@ struct inode *udf_new_inode(struct inode *dir, umode_t mode)
 			      dinfo->i_location.partitionReferenceNum,
 			      start, &err);
 	if (err) {
+		kfree(iinfo->i_ext.i_data);
 		iput(inode);
 		return ERR_PTR(err);
 	}
@@ -130,6 +131,7 @@ struct inode *udf_new_inode(struct inode *dir, umode_t mode)
 	inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
 	iinfo->i_crtime = inode->i_mtime;
 	if (unlikely(insert_inode_locked(inode) < 0)) {
+		kfree(iinfo->i_ext.i_data);
 		make_bad_inode(inode);
 		iput(inode);
 		return ERR_PTR(-EIO);
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-09-27  3:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-25 21:39 [PATCH] udf: prevent memory leak in udf_new_inode Navid Emamdoost
2019-09-25 22:24 ` Al Viro
2019-09-26  8:00   ` Jan Kara
2019-09-27  3:02     ` Navid Emamdoost

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.