From 541b3149ddc190d8d6617211181d469bece1d1d1 Mon Sep 17 00:00:00 2001 From: Scott McKay Date: Tue, 19 Mar 2019 06:56:15 +1000 Subject: [PATCH] Minor fix to disallow an execution provider registering a nullptr. This matches the expected behavior of GetKernelRegistriesByProviderType to not return any nullptrs. (#646) --- onnxruntime/core/framework/kernel_registry_manager.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/onnxruntime/core/framework/kernel_registry_manager.cc b/onnxruntime/core/framework/kernel_registry_manager.cc index d8c7099f53..72148f6b2b 100644 --- a/onnxruntime/core/framework/kernel_registry_manager.cc +++ b/onnxruntime/core/framework/kernel_registry_manager.cc @@ -60,7 +60,14 @@ Status KernelRegistryManager::RegisterKernels(const ExecutionProviders& executio return ORT_MAKE_STATUS(ONNXRUNTIME, FAIL, "found duplicated provider ", provider->Type(), " in KernelRegistryManager"); } - provider_type_to_registry_.insert(std::make_pair(provider->Type(), provider->GetKernelRegistry())); + + auto registry = provider->GetKernelRegistry(); + if (!registry) { + return ORT_MAKE_STATUS(ONNXRUNTIME, FAIL, "Execution provider ", provider->Type(), + "does not have a kernel registry."); + } + + provider_type_to_registry_.insert(std::make_pair(provider->Type(), registry)); } return Status::OK(); }