OSDN Git Service

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>
Thu, 24 Nov 2016 16:34:42 +0000 (16:34 +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>
(cherry picked from commit e074a08a6ded3260f13111d0e23961dea2da2442)

src/intel/vulkan/anv_intel.c

index 1c50e2b..c356e84 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);