From efd66daaf701d889f8d579513076fc1a671aebe0 Mon Sep 17 00:00:00 2001 From: Courtney Goeltzenleuchter Date: Fri, 29 Jan 2016 15:43:49 -0700 Subject: param_checker: Check for pQueuePriorities Verify that pQueuePriorities is set before using it. --- layers/param_checker.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'layers/param_checker.cpp') diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp index 596e609e..23f6636b 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -2112,7 +2112,10 @@ void validateDeviceCreateInfo(VkPhysicalDevice physicalDevice, const VkDeviceCre "VkDeviceCreateInfo parameter, uint32_t pQueueCreateInfos[%d]->queueCount, cannot be zero.", i); } for (uint32_t j = 0; j < pCreateInfo->pQueueCreateInfos[i].queueCount; ++j) { - if (pCreateInfo->pQueueCreateInfos[i].pQueuePriorities[j] < 0.f || pCreateInfo->pQueueCreateInfos[i].pQueuePriorities[j] > 1.f) { + if (pCreateInfo->pQueueCreateInfos[i].pQueuePriorities == nullptr) { + log_msg(mdd(physicalDevice), VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, 1, "PARAMCHECK", + "VkDeviceCreateInfo parameter, uint32_t pQueueCreateInfos[%d]->pQueuePriorities, must not be NULL.", i); + } else if (pCreateInfo->pQueueCreateInfos[i].pQueuePriorities[j] < 0.f || pCreateInfo->pQueueCreateInfos[i].pQueuePriorities[j] > 1.f) { log_msg(mdd(physicalDevice), VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, 1, "PARAMCHECK", "VkDeviceCreateInfo parameter, uint32_t pQueueCreateInfos[%d]->pQueuePriorities[%d], must be between 0 and 1. Actual value is %f", i, j, pCreateInfo->pQueueCreateInfos[i].pQueuePriorities[j]); } -- cgit v1.2.3