[Mesa-dev] [PATCH 5/6] radv: Fix bufimage failure deallocation.

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Sun Jan 21 21:11:56 UTC 2018


The inidividual init parts don't clean up their own stuff on failure.

CC: <mesa-stable at lists.freedesktop.org>
---
 src/amd/vulkan/radv_meta_bufimage.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/amd/vulkan/radv_meta_bufimage.c b/src/amd/vulkan/radv_meta_bufimage.c
index 5bcc1e62db..adf610a933 100644
--- a/src/amd/vulkan/radv_meta_bufimage.c
+++ b/src/amd/vulkan/radv_meta_bufimage.c
@@ -901,21 +901,23 @@ radv_device_init_meta_bufimage_state(struct radv_device *device)
 
 	result = radv_device_init_meta_itob_state(device);
 	if (result != VK_SUCCESS)
-		return result;
+		goto fail_itob;
 
 	result = radv_device_init_meta_btoi_state(device);
 	if (result != VK_SUCCESS)
-		goto fail_itob;
+		goto fail_btoi;
 
 	result = radv_device_init_meta_itoi_state(device);
 	if (result != VK_SUCCESS)
-		goto fail_btoi;
+		goto fail_itoi;
 
 	result = radv_device_init_meta_cleari_state(device);
 	if (result != VK_SUCCESS)
-		goto fail_itoi;
+		goto fail_cleari;
 
 	return VK_SUCCESS;
+fail_cleari:
+	radv_device_finish_meta_cleari_state(device);
 fail_itoi:
 	radv_device_finish_meta_itoi_state(device);
 fail_btoi:
-- 
2.15.1



More information about the mesa-dev mailing list