Module: wine Branch: master Commit: 18d7bc985990c1022a9f42d20cc819ba141af5cb URL: https://source.winehq.org/git/wine.git/?a=commit;h=18d7bc985990c1022a9f42d20... Author: Liam Middlebrook <lmiddlebrook(a)nvidia.com> Date: Mon Aug 3 09:28:51 2020 -0700 winevulkan: Harden calibrated_timestamps failure paths. Addresses some comments that Zhiyi had made on the initial review thread. Signed-off-by: Liam Middlebrook <lmiddlebrook(a)nvidia.com> Signed-off-by: Andy Ritger <aritger(a)nvidia.com> Signed-off-by: Joshua Ashton <joshua(a)froggi.es> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/winevulkan/vulkan.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c index 5f8046f1ba..1b359d22c8 100644 --- a/dlls/winevulkan/vulkan.c +++ b/dlls/winevulkan/vulkan.c @@ -1335,6 +1335,8 @@ VkResult WINAPI wine_vkGetCalibratedTimestampsEXT(VkDevice device, } res = device->funcs.p_vkGetCalibratedTimestampsEXT(device->device, timestamp_count, host_timestamp_infos, timestamps, max_deviation); + if (res != VK_SUCCESS) + return res; for (i = 0; i < timestamp_count; i++) timestamps[i] = convert_timestamp(host_timestamp_infos[i].timeDomain, timestamp_infos[i].timeDomain, timestamps[i]); @@ -1368,7 +1370,10 @@ VkResult WINAPI wine_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(VkPhysicalDe res = phys_dev->instance->funcs.p_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(phys_dev->phys_dev, &host_time_domain_count, host_time_domains); if (res != VK_SUCCESS) + { + heap_free(host_time_domains); return res; + } for (i = 0; i < host_time_domain_count; i++) {