Failure during instance creation will leave instance->wayland_wsi
undefined. When we then try to clean that up we crash. Set
instance->wayland_wsi to NULL on failure and only clean it up if it's
non-NULL.
Fixes part of dEQP-VK.api.object_management.alloc_callback_fail.*
{
struct wsi_wayland *wsi = instance->wayland_wsi;
- _mesa_hash_table_destroy(wsi->displays, NULL);
+ if (wsi) {
+ _mesa_hash_table_destroy(wsi->displays, NULL);
- pthread_mutex_destroy(&wsi->mutex);
+ pthread_mutex_destroy(&wsi->mutex);
- anv_free(&instance->alloc, wsi);
+ anv_free(&instance->alloc, wsi);
+ }
}