Fix integer overflow in vkAllocateMemory.

Bug: b/223394608
Test:
dEQP-VK.memory.device_memory_report.vk_device_memory#allocation_failed

Change-Id: I5222a665eb28b755af79e5ad746d66583037d916
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/64188
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Joshua Duong <joshuaduong@google.com>
Commit-Queue: Joshua Duong <joshuaduong@google.com>
diff --git a/src/Vulkan/VkDeviceMemory.cpp b/src/Vulkan/VkDeviceMemory.cpp
index 4cf4688..a366661 100644
--- a/src/Vulkan/VkDeviceMemory.cpp
+++ b/src/Vulkan/VkDeviceMemory.cpp
@@ -109,6 +109,10 @@
 	VkMemoryAllocateInfo allocateInfo = *pAllocateInfo;
 	// Add 15 bytes of padding to ensure that any type of attribute within
 	// buffers and images can be read using 16-byte accesses.
+	if(allocateInfo.allocationSize > UINT64_MAX - 15)
+	{
+		return VK_ERROR_OUT_OF_DEVICE_MEMORY;
+	}
 	allocateInfo.allocationSize += 15;
 
 #if SWIFTSHADER_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER