Minor fix to disallow an execution provider registering a nullptr. This matches the expected behavior of GetKernelRegistriesByProviderType to not return any nullptrs. (#646)

This commit is contained in:
Scott McKay 2019-03-19 06:56:15 +10:00 committed by GitHub
parent 971058fc38
commit 541b3149dd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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();
}