Fixes buffer overflow in pipeline timestamp tests
authormnetsch <mnetsch@qti.qualcomm.com>
Thu, 3 Mar 2016 18:19:22 +0000 (13:19 -0500)
committermnetsch <mnetsch@qti.qualcomm.com>
Thu, 3 Mar 2016 18:59:47 +0000 (13:59 -0500)
Fixes #323

external/vulkancts/modules/vulkan/pipeline/vktPipelineTimestampTests.cpp [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index e95a761..04ed81b
@@ -1633,11 +1633,11 @@ BasicComputeTestInstance::BasicComputeTestInstance(Context&              context
        const VkDevice              vkDevice            = context.getDevice();
 
        // Create buffer object, allocate storage, and generate input data
-       const VkDeviceSize          size                = sizeof(tcu::Vec4) * 128u;
+       const VkDeviceSize          size                = sizeof(tcu::Vec4) * 128u * 128u;
        m_inputBuf = createBufferAndBindMemory(size, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, &m_inputBufAlloc);
        // Load vertices into buffer
        tcu::Vec4* pVec = reinterpret_cast<tcu::Vec4*>(m_inputBufAlloc->getHostPtr());
-       for (deUint32 ndx = 0u; ndx < 128u; ndx++)
+       for (deUint32 ndx = 0u; ndx < (128u * 128u); ndx++)
        {
                for (deUint32 component = 0u; component < 4u; component++)
                {
@@ -1649,8 +1649,8 @@ BasicComputeTestInstance::BasicComputeTestInstance(Context&              context
        m_outputBuf = createBufferAndBindMemory(size, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, &m_outputBufAlloc);
 
        std::vector<VkDescriptorBufferInfo>        descriptorInfos;
-       descriptorInfos.push_back(makeDescriptorBufferInfo(*m_inputBuf, 0u, sizeof(tcu::Vec4) * 128u));
-       descriptorInfos.push_back(makeDescriptorBufferInfo(*m_outputBuf, 0u, sizeof(tcu::Vec4) * 128u));
+       descriptorInfos.push_back(makeDescriptorBufferInfo(*m_inputBuf, 0u, size));
+       descriptorInfos.push_back(makeDescriptorBufferInfo(*m_outputBuf, 0u, size));
 
        // Create descriptor set layout
        DescriptorSetLayoutBuilder descLayoutBuilder;