Commit 82f703bb authored by Dmitriy Monakhov's avatar Dmitriy Monakhov Committed by Linus Torvalds

freevxfs: possible null pointer dereference fix

sb_read may return NULL, so let's explicitly check it.
Signed-off-by: default avatarDmitriy Monakhov <dmonakhov@openvz.org>
Acked-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 1368c4f2
...@@ -137,7 +137,7 @@ vxfs_bmap_indir(struct inode *ip, long indir, int size, long block) ...@@ -137,7 +137,7 @@ vxfs_bmap_indir(struct inode *ip, long indir, int size, long block)
bp = sb_bread(ip->i_sb, bp = sb_bread(ip->i_sb,
indir + (i / VXFS_TYPED_PER_BLOCK(ip->i_sb))); indir + (i / VXFS_TYPED_PER_BLOCK(ip->i_sb)));
if (!buffer_mapped(bp)) if (!bp || !buffer_mapped(bp))
return 0; return 0;
typ = ((struct vxfs_typed *)bp->b_data) + typ = ((struct vxfs_typed *)bp->b_data) +
......
...@@ -99,7 +99,7 @@ vxfs_blkiget(struct super_block *sbp, u_long extent, ino_t ino) ...@@ -99,7 +99,7 @@ vxfs_blkiget(struct super_block *sbp, u_long extent, ino_t ino)
offset = ((ino % (sbp->s_blocksize / VXFS_ISIZE)) * VXFS_ISIZE); offset = ((ino % (sbp->s_blocksize / VXFS_ISIZE)) * VXFS_ISIZE);
bp = sb_bread(sbp, block); bp = sb_bread(sbp, block);
if (buffer_mapped(bp)) { if (bp && buffer_mapped(bp)) {
struct vxfs_inode_info *vip; struct vxfs_inode_info *vip;
struct vxfs_dinode *dip; struct vxfs_dinode *dip;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment