From 594e2b6832fd09baa2aa0d332db44d96648fb2e3 Mon Sep 17 00:00:00 2001 From: Yichao Yu <yyc1992@gmail.com> Date: Sun, 22 Jun 2014 06:01:46 +0800 Subject: [PATCH] do not crash in clobj__* with nullptr input, which can happen in exception handler --- src/c_wrapper/wrap_cl.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/c_wrapper/wrap_cl.cpp b/src/c_wrapper/wrap_cl.cpp index b7d1ddb9..338738a7 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); }); } -- GitLab