From: Karl Schultz Date: Thu, 21 Apr 2016 21:57:51 +0000 (-0600) Subject: layers: Reorder to prevent Null deref; add test X-Git-Tag: upstream/1.1.92~3265 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b7a3213de50f36fe1a3b7c32861932f79eb4b154;p=platform%2Fupstream%2FVulkan-Tools.git layers: Reorder to prevent Null deref; add test Found by running Hologram with validation and push constants using args "-p -v". Hologram is issuing a memory barrier in the push constants mode. This will be fixed in Hologram, but validation should not be crashing. Change-Id: I1e76c3fca0152fc3bf8c1de3db3b044f650c202f --- diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index f7c1622..57e5731 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -8427,10 +8427,10 @@ static bool ValidateBarriers(const char *funcName, VkCommandBuffer cmdBuffer, ui } auto buffer_data = dev_data->bufferMap.find(mem_barrier->buffer); - VkDeviceSize buffer_size = (buffer_data->second.createInfo.sType == VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO) - ? buffer_data->second.createInfo.size - : 0; if (buffer_data != dev_data->bufferMap.end()) { + VkDeviceSize buffer_size = (buffer_data->second.createInfo.sType == VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO) + ? buffer_data->second.createInfo.size + : 0; if (mem_barrier->offset >= buffer_size) { skip_call |= log_msg( dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__,