Handle kernel name set to nullptr

Change-Id: Ifeb6923c8df948de94b0771de0f37e628013d8db
This commit is contained in:
Lukasz Towarek
2018-08-09 11:33:44 +02:00
committed by sys_ocldev
parent 55475c2848
commit d9aad44434
2 changed files with 22 additions and 0 deletions

View File

@ -1447,6 +1447,11 @@ cl_kernel CL_API_CALL clCreateKernel(cl_program clProgram,
break;
}
if (kernelName == nullptr) {
retVal = CL_INVALID_VALUE;
break;
}
const KernelInfo *pKernelInfo = pProgram->getKernelInfo(kernelName);
if (!pKernelInfo) {
retVal = CL_INVALID_KERNEL_NAME;

View File

@ -170,6 +170,23 @@ TEST_F(clCreateKernelTests, nullProgram) {
ASSERT_EQ(nullptr, kernel);
}
TEST_F(clCreateKernelTests, givenNullKernelNameWhenCreatingNewKernelThenReturnClInvalidValue) {
cl_kernel kernel = nullptr;
KernelInfo *pKernelInfo = KernelInfo::create();
pKernelInfo->isValid = true;
std::unique_ptr<MockProgram> pMockProg = std::make_unique<MockProgram>(pContext, false);
pMockProg->addKernelInfo(pKernelInfo);
kernel = clCreateKernel(
pMockProg.get(),
nullptr,
&retVal);
EXPECT_EQ(CL_INVALID_VALUE, retVal);
EXPECT_EQ(nullptr, kernel);
}
TEST_F(clCreateKernelTests, invalidProgram) {
cl_kernel kernel = nullptr;