Skip to content

Commit 2869b42

Browse files
committed
Nullptr checks on cl kernels on deinit
1 parent 8ad7de9 commit 2869b42

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

targets/opencl/vx_interface.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -398,16 +398,20 @@ extern "C" vx_status vxTargetDeinit(vx_target target)
398398
if (target->kernels[k])
399399
{
400400
target->kernels[k]->decrementReference(VX_INTERNAL);
401-
clReleaseKernel(cl_kernels[k]->kernels[p]);
402-
clReleaseProgram(cl_kernels[k]->program[p]);
401+
if (cl_kernels[k]->kernels[p]) clReleaseKernel(cl_kernels[k]->kernels[p]);
402+
if (cl_kernels[k]->program[p]) clReleaseProgram(cl_kernels[k]->program[p]);
403403
}
404404

405405
}
406406
for (d = 0; d < context->num_devices[p]; d++)
407407
{
408-
clReleaseCommandQueue(context->queues[p][d]);
408+
if (context->queues[p][d])
409+
{
410+
clFinish(context->queues[p][d]);
411+
clReleaseCommandQueue(context->queues[p][d]);
412+
}
409413
}
410-
clReleaseContext(context->global[p]);
414+
if (context->global[p]) clReleaseContext(context->global[p]);
411415
}
412416
}
413417
return VX_SUCCESS;

0 commit comments

Comments
 (0)