loader: Clean up loader_init_generic_list
authorMark Young <marky@lunarg.com>
Fri, 2 Sep 2016 17:45:00 +0000 (11:45 -0600)
committerMark Young <marky@lunarg.com>
Fri, 2 Sep 2016 19:52:11 +0000 (13:52 -0600)
Modify loader_init_generic_list so that it returns with count
and capacity of 0 if an error occurs.

Change-Id: I916f0dc0bf54a7897cf375bec0647f0379db1d0a

loader/loader.c

index 3a4b6d6..825d2b0 100644 (file)
@@ -858,14 +858,16 @@ VkResult loader_add_device_extensions(const struct loader_instance *inst,
 VkResult loader_init_generic_list(const struct loader_instance *inst,
                               struct loader_generic_list *list_info,
                               size_t element_size) {
-    list_info->capacity = 32 * element_size;
+    size_t capacity = 32 * element_size;
+    list_info->count = 0;
+    list_info->capacity = 0;
     list_info->list = loader_instance_heap_alloc(
-        inst, list_info->capacity, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+        inst, capacity, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (list_info->list == NULL) {
         return VK_ERROR_OUT_OF_HOST_MEMORY;
     }
-    memset(list_info->list, 0, list_info->capacity);
-    list_info->count = 0;
+    memset(list_info->list, 0, capacity);
+    list_info->capacity = capacity;
     return VK_SUCCESS;
 }