[libvirt] [PATCH 06/26] storage: Resolve Coverity OVERFLOW_BEFORE_WIDEN

Peter Krempa pkrempa at redhat.com
Thu Sep 11 09:08:36 UTC 2014


On 09/05/14 00:26, John Ferlan wrote:
> Coverity complains that when multiplying to 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: John Ferlan <jferlan at redhat.com>
> ---
>  src/storage/storage_backend_disk.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/storage/storage_backend_disk.c b/src/storage/storage_backend_disk.c
> index cb6a8d5..abab1e1 100644
> --- a/src/storage/storage_backend_disk.c
> +++ b/src/storage/storage_backend_disk.c
> @@ -560,7 +560,7 @@ virStorageBackendDiskPartBoundaries(virStoragePoolObjPtr pool,
>      unsigned long long extraBytes = 0;
>      unsigned long long alignedAllocation = allocation;
>      virStoragePoolSourceDevicePtr dev = &pool->def->source.devices[0];
> -    unsigned long long cylinderSize = dev->geometry.heads *
> +    unsigned long long cylinderSize = (unsigned long long)dev->geometry.heads *
>                                        dev->geometry.sectors * SECTOR_SIZE;
>  
>      VIR_DEBUG("find free area: allocation %llu, cyl size %llu", allocation,
> 

ACK

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140911/d82cbcb7/attachment-0001.sig>


More information about the libvir-list mailing list