Fix crash on pixel phone
authorXuelian Bai <xuelian.bai@samsung.com>
Thu, 3 Aug 2023 06:36:49 +0000 (14:36 +0800)
committerXuelian Bai <xuelian.bai@samsung.com>
Tue, 16 Jan 2024 02:24:46 +0000 (10:24 +0800)
Change-Id: I89320faf4c1063b9404cfca1d528edef4cfa8fb3
Signed-off-by: Xuelian Bai <xuelian.bai@samsung.com>
loader/loader.c

index 06f50f7c354284352779138af6aeb16d6449073d..1a5f938e9ba6970de5fc8d37795a40e6a627e7f2 100644 (file)
@@ -714,7 +714,8 @@ VkResult loader_init_generic_list(const struct loader_instance *inst, struct loa
 }
 
 void loader_destroy_generic_list(const struct loader_instance *inst, struct loader_generic_list *list) {
-    loader_instance_heap_free(inst, list->list);
+    if (list->count !=0)
+        loader_instance_heap_free(inst, list->list);
     list->count = 0;
     list->capacity = 0;
     list->list = NULL;
@@ -5566,6 +5567,7 @@ VKAPI_ATTR void VKAPI_CALL terminator_DestroyInstance(VkInstance instance, const
 
         icd_terms = next_icd_term;
     }
+    ptr_instance->icd_terms = NULL;
 
     loader_scanned_icd_clear(ptr_instance, &ptr_instance->icd_tramp_list);
     loader_destroy_generic_list(ptr_instance, (struct loader_generic_list *)&ptr_instance->ext_list);