On 6/23/16 12:07 PM, Bill O'Donnell wrote: > Coverity complains that when multiplying two 32 bit values that > eventually will be stored in a 64 bit value that it's possible > the math could overflow unless one of the values being multiplied > is type cast to the proper size. > > Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Makes sense. Given that this is repair, and either value could be larger than expected, we need the skip value to be accurate. Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> > --- > repair/sb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/repair/sb.c b/repair/sb.c > index 3965953..8d4843c 100644 > --- a/repair/sb.c > +++ b/repair/sb.c > @@ -230,7 +230,7 @@ find_secondary_sb(xfs_sb_t *rsb) > do_warn(_("\nattempting to find secondary superblock...\n")); > > if (verify_sb_blocksize(rsb) == 0) { > - skip = rsb->sb_agblocks * rsb->sb_blocksize; > + skip = (__uint64_t)rsb->sb_agblocks * rsb->sb_blocksize; > if (skip >= XFS_AG_MIN_BYTES && skip <= XFS_AG_MAX_BYTES) > retval = __find_secondary_sb(rsb, skip, skip); > } > _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs