From: Dmitriy Monakhov Date: Tue, 8 May 2007 07:24:34 +0000 (-0700) Subject: freevxfs: possible null pointer dereference fix X-Git-Tag: v2.6.22-rc1~782 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=82f703bb8cb2732b4437a9f555a1be564e9e71c2;p=linux-2.6 freevxfs: possible null pointer dereference fix sb_read may return NULL, so let's explicitly check it. Signed-off-by: Dmitriy Monakhov Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/fs/freevxfs/vxfs_bmap.c b/fs/freevxfs/vxfs_bmap.c index 2d71128bd8..f86fd3cacd 100644 --- a/fs/freevxfs/vxfs_bmap.c +++ b/fs/freevxfs/vxfs_bmap.c @@ -137,7 +137,7 @@ vxfs_bmap_indir(struct inode *ip, long indir, int size, long block) bp = sb_bread(ip->i_sb, indir + (i / VXFS_TYPED_PER_BLOCK(ip->i_sb))); - if (!buffer_mapped(bp)) + if (!bp || !buffer_mapped(bp)) return 0; typ = ((struct vxfs_typed *)bp->b_data) + diff --git a/fs/freevxfs/vxfs_inode.c b/fs/freevxfs/vxfs_inode.c index 098a915fd9..d1f7c5b5b3 100644 --- a/fs/freevxfs/vxfs_inode.c +++ b/fs/freevxfs/vxfs_inode.c @@ -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); bp = sb_bread(sbp, block); - if (buffer_mapped(bp)) { + if (bp && buffer_mapped(bp)) { struct vxfs_inode_info *vip; struct vxfs_dinode *dip;