diff --git a/src/c_wrapper/wrap_cl.cpp b/src/c_wrapper/wrap_cl.cpp index b7d1ddb9aa6ad9eef9d5427048a4bd93bf1d102b..338738a78d72befb9016f23111a6f9a9d6cf0aa6 100644 --- a/src/c_wrapper/wrap_cl.cpp +++ b/src/c_wrapper/wrap_cl.cpp @@ -60,7 +60,7 @@ free_pointer_array(void **p, uint32_t size) intptr_t clobj__int_ptr(clobj_t obj) { - return obj->intptr(); + return PYOPENCL_LIKELY(obj) ? obj->intptr() : 0l; } static PYOPENCL_INLINE clobj_t @@ -110,6 +110,9 @@ error* clobj__get_info(clobj_t obj, cl_uint param, generic_info *out) { return c_handle_error([&] { + if (PYOPENCL_UNLIKELY(!obj)) { + throw clerror("NULL input", CL_INVALID_VALUE); + } *out = obj->get_info(param); }); }