diff options
author | Dave Airlie <[email protected]> | 2016-10-12 08:52:56 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2016-10-12 08:53:44 +1000 |
commit | 6215b476482fa3a76d3245d88ab127a7c060e115 (patch) | |
tree | 59708503178b4474f7ad9647e70693cb95d5cf3f | |
parent | e0641c61ca5cb8bba2e4cb5a0a6eede74f11ebc6 (diff) |
radv: fix memory leak from physical device if wsi fails
Inspired by patch from Edward O'Callaghan <[email protected]>
which didn't do it right.
Signed-off-by: Dave Airlie <[email protected]>
-rw-r--r-- | src/amd/vulkan/radv_device.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 8c59344a3c8..79ef8ed55db 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -74,8 +74,10 @@ radv_physical_device_init(struct radv_physical_device *device, } device->ws->query_info(device->ws, &device->rad_info); result = radv_init_wsi(device); - if (result != VK_SUCCESS) + if (result != VK_SUCCESS) { + device->ws->destroy(device->ws); goto fail; + } fprintf(stderr, "WARNING: radv is not a conformant vulkan implementation, testing use only.\n"); device->name = device->rad_info.name; |