anv: Fix unintentional integer overflow in anv_CreateDmaBufImageINTEL
authorGwan-gyeong Mun <elongbug@gmail.com>
Sun, 20 Nov 2016 11:44:22 +0000 (20:44 +0900)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 22 Nov 2016 15:15:45 +0000 (15:15 +0000)
Since both pCreateInfo->strideInBytes and pCreateInfo->extent.height
are of uint32_t type 32-bit arithmetic will be used.

Fix unintentional integer overflow by casting to uint64_t before
multifying.

CID 1394321

Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Mun Gwan-gyeong <elongbug@gmail.com>
[Emil Velikov: cast only of the arguments]
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
src/intel/vulkan/anv_intel.c

index 1c50e2bdd384bd761e4f7fe2a7e4defc9d0d09d1..c356e848fe032a4dcdd8237e259bfaa80501b34b 100644 (file)
@@ -55,7 +55,7 @@ VkResult anv_CreateDmaBufImageINTEL(
       goto fail;
    }
 
-   uint64_t size = pCreateInfo->strideInBytes * pCreateInfo->extent.height;
+   uint64_t size = (uint64_t)pCreateInfo->strideInBytes * pCreateInfo->extent.height;
 
    anv_bo_init(&mem->bo, gem_handle, size);