]> err.no Git - linux-2.6/commitdiff
[XFS] Fix char size overflow in bmap_alloc call for unwritten extent
authorAdrian Bunk <bunk@stusta.de>
Wed, 30 Aug 2006 03:41:58 +0000 (13:41 +1000)
committerNathan Scott <nathans@sgi.com>
Wed, 30 Aug 2006 03:41:58 +0000 (13:41 +1000)
conversion.

Since bma.conv is a char and XFS_BMAPI_CONVERT is 0x1000, bma.conv was
always assigned zero. Spotted by the GNU C compiler (SVN version).

SGI-PV: 947312
SGI-Modid: xfs-linux-melb:xfs-kern:26887a

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Nathan Scott <nathans@sgi.com>
fs/xfs/xfs_bmap.c

index 3a61375390645f2bf6f2d5d54c5b4f988af97f0e..bf46fae303af9826296dc9767fd8d696e2118862 100644 (file)
@@ -4993,7 +4993,7 @@ xfs_bmapi(
                                bma.firstblock = *firstblock;
                                bma.alen = alen;
                                bma.off = aoff;
-                               bma.conv = (flags & XFS_BMAPI_CONVERT);
+                               bma.conv = !!(flags & XFS_BMAPI_CONVERT);
                                bma.wasdel = wasdelay;
                                bma.minlen = minlen;
                                bma.low = flist->xbf_low;