From bec92d8a63c270b1423d831ad1a3b41fa9086795 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Wed, 11 May 2011 15:04:11 +0000 Subject: [PATCH] --- yaml --- r: 251775 b: refs/heads/master c: 87bef1812d337beadfb1099e7361fd41264eb88e h: refs/heads/master i: 251773: df2bc010776f94d59adf71a438d194667f13edd2 251771: 5993430d5f4bbb026bbfeed2e13d4737baa98ab4 251767: c32f281c5af007a57cde04b64688d1a8bf5a2ac8 251759: 951fa0a194fe79fa9e29e777460bc8646d68d23f 251743: 0f143c6978edbe2339b89f8503fb6fcfde70b89d 251711: 5fae483e4dcba948dc8844081719c61276ab765c 251647: 810ff7812b9c683cf4597d22234ce801675a5395 v: v3 --- [refs] | 2 +- trunk/fs/xfs/xfs_inode.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index e633a772b93f..6bb1e15c9b1b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ab1908a5bb21a8eebf16e5d92d087fd9413cf67d +refs/heads/master: 87bef1812d337beadfb1099e7361fd41264eb88e diff --git a/trunk/fs/xfs/xfs_inode.c b/trunk/fs/xfs/xfs_inode.c index 6f318eeac401..b71a907e15ab 100644 --- a/trunk/fs/xfs/xfs_inode.c +++ b/trunk/fs/xfs/xfs_inode.c @@ -3108,6 +3108,8 @@ xfs_iext_get_ext( xfs_extnum_t idx) /* index of target extent */ { ASSERT(idx >= 0); + ASSERT(idx < ifp->if_bytes / sizeof(xfs_bmbt_rec_t)); + if ((ifp->if_flags & XFS_IFEXTIREC) && (idx == 0)) { return ifp->if_u1.if_ext_irec->er_extbuf; } else if (ifp->if_flags & XFS_IFEXTIREC) { @@ -3881,8 +3883,10 @@ xfs_iext_idx_to_irec( xfs_extnum_t page_idx = *idxp; /* extent index in target list */ ASSERT(ifp->if_flags & XFS_IFEXTIREC); - ASSERT(page_idx >= 0 && page_idx <= - ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t)); + ASSERT(page_idx >= 0); + ASSERT(page_idx <= ifp->if_bytes / sizeof(xfs_bmbt_rec_t)); + ASSERT(page_idx < ifp->if_bytes / sizeof(xfs_bmbt_rec_t) || realloc); + nlists = ifp->if_real_bytes / XFS_IEXT_BUFSZ; erp_idx = 0; low = 0;