@@ -5815,24 +5815,23 @@ VKAPI_ATTR VkResult VKAPI_CALL terminator_CreateInstance(const VkInstanceCreateI
58155815
58165816 struct loader_instance * ptr_instance = (struct loader_instance * )* pInstance ;
58175817 if (NULL == ptr_instance ) {
5818- loader_log (ptr_instance , VULKAN_LOADER_WARN_BIT , 0 ,
5818+ loader_log (NULL , VULKAN_LOADER_ERROR_BIT , 0 ,
58195819 "terminator_CreateInstance: Loader instance pointer null encountered. Possibly set by active layer. (Policy "
58205820 "#LLP_LAYER_21)" );
5821+ abort ();
58215822 } else if (LOADER_MAGIC_NUMBER != ptr_instance -> magic ) {
5822- loader_log (ptr_instance , VULKAN_LOADER_WARN_BIT , 0 ,
5823+ loader_log (ptr_instance , VULKAN_LOADER_ERROR_BIT , 0 ,
58235824 "terminator_CreateInstance: Instance pointer (%p) has invalid MAGIC value 0x%08" PRIx64
58245825 ". Instance value possibly "
58255826 "corrupted by active layer (Policy #LLP_LAYER_21). " ,
58265827 ptr_instance , ptr_instance -> magic );
5828+ abort ();
58275829 }
58285830
58295831 // Save the application version if it has been modified - layers sometimes needs features in newer API versions than
58305832 // what the application requested, and thus will increase the instance version to a level that suites their needs.
58315833 if (pCreateInfo -> pApplicationInfo && pCreateInfo -> pApplicationInfo -> apiVersion ) {
58325834 loader_api_version altered_version = loader_make_version (pCreateInfo -> pApplicationInfo -> apiVersion );
5833- // per LLP_LAYER_21 (docs/LoaderLayerInterface.md), a layer that clobbers pInstance before calling down is
5834- // documented to crash the loader; this is not recoverable here.
5835- // NOLINTNEXTLINE(clang-analyzer-core.NullDereference)
58365835 if (altered_version .major != ptr_instance -> app_api_version .major ||
58375836 altered_version .minor != ptr_instance -> app_api_version .minor ) {
58385837 ptr_instance -> app_api_version = altered_version ;
@@ -5867,14 +5866,12 @@ VKAPI_ATTR VkResult VKAPI_CALL terminator_CreateInstance(const VkInstanceCreateI
58675866 } else {
58685867 for (uint32_t j = 0 ; j < pCreateInfo -> enabledExtensionCount ; j ++ ) {
58695868 if (!strcmp (pCreateInfo -> ppEnabledExtensionNames [j ], VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME )) {
5870- // NOLINTNEXTLINE(clang-analyzer-core.NullDereference) - see LLP_LAYER_21 note above
58715869 ptr_instance -> supports_get_dev_prop_2 = true;
58725870 break ;
58735871 }
58745872 }
58755873 }
58765874
5877- // NOLINTNEXTLINE(clang-analyzer-core.NullDereference) - see LLP_LAYER_21 note above
58785875 for (uint32_t i = 0 ; i < ptr_instance -> icd_tramp_list .count ; i ++ ) {
58795876 icd_term = loader_icd_add (ptr_instance , & ptr_instance -> icd_tramp_list .scanned_list [i ]);
58805877 if (NULL == icd_term ) {
@@ -6230,21 +6227,20 @@ VKAPI_ATTR VkResult VKAPI_CALL terminator_CreateDevice(VkPhysicalDevice physical
62306227 VkDeviceGroupDeviceCreateInfo * caller_dgci = NULL ;
62316228
62326229 if (NULL == dev ) {
6233- loader_log (icd_term -> this_instance , VULKAN_LOADER_WARN_BIT , 0 ,
6230+ loader_log (icd_term -> this_instance , VULKAN_LOADER_ERROR_BIT , 0 ,
62346231 "terminator_CreateDevice: Loader device pointer null encountered. Possibly set by active layer. (Policy "
62356232 "#LLP_LAYER_22)" );
6233+ abort ();
62366234 } else if (DEVICE_DISP_TABLE_MAGIC_NUMBER != dev -> loader_dispatch .core_dispatch .magic ) {
6237- loader_log (icd_term -> this_instance , VULKAN_LOADER_WARN_BIT , 0 ,
6235+ loader_log (icd_term -> this_instance , VULKAN_LOADER_ERROR_BIT , 0 ,
62386236 "terminator_CreateDevice: Device pointer (%p) has invalid MAGIC value 0x%08" PRIx64
62396237 ". The expected value is "
62406238 "0x10ADED040410ADED. Device value possibly "
62416239 "corrupted by active layer (Policy #LLP_LAYER_22). " ,
62426240 dev , dev -> loader_dispatch .core_dispatch .magic );
6241+ abort ();
62436242 }
62446243
6245- // per LLP_LAYER_22 (docs/LoaderLayerInterface.md), a layer that clobbers pDevice before calling down is
6246- // documented to crash the loader; this is not recoverable here.
6247- // NOLINTNEXTLINE(clang-analyzer-core.NullDereference)
62486244 dev -> phys_dev_term = phys_dev_term ;
62496245
62506246 icd_exts .list = NULL ;
0 commit comments