From: Dave Chinner Date: Mon, 18 Jan 2010 00:08:50 +0000 (+1100) Subject: xfsprogs: fix missing error check in xfs_rtfree_range in libxfs X-Git-Tag: v3.1.1~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=904f84747040989881229ac3540820c9d8a9a684;p=thirdparty%2Fxfsprogs-dev.git xfsprogs: fix missing error check in xfs_rtfree_range in libxfs When xfs_rtfind_forw() returns an error, the block is returned uninitialised. xfs_rtfree_range() is not checking the error return, so could be using an uninitialised block number for modifying bitmap summary info. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig --- diff --git a/libxfs/xfs_rtalloc.c b/libxfs/xfs_rtalloc.c index 6c3da528f..4fbdaa9d2 100644 --- a/libxfs/xfs_rtalloc.c +++ b/libxfs/xfs_rtalloc.c @@ -466,6 +466,8 @@ xfs_rtfree_range( */ error = xfs_rtfind_forw(mp, tp, end, mp->m_sb.sb_rextents - 1, &postblock); + if (error) + return error; /* * If there are blocks not being freed at the front of the * old extent, add summary data for them to be allocated.