Messages in this thread Patch in this message | | | From | Changwoo Min <> | Subject | [PATCH] udf: NULL dereference at udf_symlink() on error | Date | Mon, 23 Mar 2015 02:11:49 -0400 |
| |
There is no check for udf_tgetblk(), which could return NULL, in udf_symlink(). So there is a possibility of returning NULL under heavy memory pressure and possibility of NULL dereference.
Signed-off-by: Changwoo Min <changwoo.m@gmail.com> --- fs/udf/namei.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/fs/udf/namei.c b/fs/udf/namei.c index 33b246b..ed2f221 100644 --- a/fs/udf/namei.c +++ b/fs/udf/namei.c @@ -902,6 +902,10 @@ static int udf_symlink(struct inode *dir, struct dentry *dentry, iinfo->i_location.partitionReferenceNum, 0); epos.bh = udf_tgetblk(sb, block); + if (!epos.bh) { + err = -ENOMEM; + goto out_no_entry; + } lock_buffer(epos.bh); memset(epos.bh->b_data, 0x00, bsize); set_buffer_uptodate(epos.bh); -- 1.9.1
| |