clover: add dynamic_cast results checking down in clSetKernelArgument() code path.
Signed-off-by: Dmitry Cherkassov <dcherkassov@gmail.com> Signed-off-by: Francisco Jerez <currojerez@riseup.net>
This commit is contained in:
parent
b50e362dbb
commit
3cc2629b3b
|
@ -222,6 +222,9 @@ _cl_kernel::global_argument::set(size_t size, const void *value) {
|
||||||
throw error(CL_INVALID_ARG_SIZE);
|
throw error(CL_INVALID_ARG_SIZE);
|
||||||
|
|
||||||
obj = dynamic_cast<clover::buffer *>(*(cl_mem *)value);
|
obj = dynamic_cast<clover::buffer *>(*(cl_mem *)value);
|
||||||
|
if (!obj)
|
||||||
|
throw error(CL_INVALID_MEM_OBJECT);
|
||||||
|
|
||||||
__set = true;
|
__set = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -286,6 +289,9 @@ _cl_kernel::constant_argument::set(size_t size, const void *value) {
|
||||||
throw error(CL_INVALID_ARG_SIZE);
|
throw error(CL_INVALID_ARG_SIZE);
|
||||||
|
|
||||||
obj = dynamic_cast<clover::buffer *>(*(cl_mem *)value);
|
obj = dynamic_cast<clover::buffer *>(*(cl_mem *)value);
|
||||||
|
if (!obj)
|
||||||
|
throw error(CL_INVALID_MEM_OBJECT);
|
||||||
|
|
||||||
__set = true;
|
__set = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -316,6 +322,9 @@ _cl_kernel::image_rd_argument::set(size_t size, const void *value) {
|
||||||
throw error(CL_INVALID_ARG_SIZE);
|
throw error(CL_INVALID_ARG_SIZE);
|
||||||
|
|
||||||
obj = dynamic_cast<clover::image *>(*(cl_mem *)value);
|
obj = dynamic_cast<clover::image *>(*(cl_mem *)value);
|
||||||
|
if (!obj)
|
||||||
|
throw error(CL_INVALID_MEM_OBJECT);
|
||||||
|
|
||||||
__set = true;
|
__set = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -346,6 +355,9 @@ _cl_kernel::image_wr_argument::set(size_t size, const void *value) {
|
||||||
throw error(CL_INVALID_ARG_SIZE);
|
throw error(CL_INVALID_ARG_SIZE);
|
||||||
|
|
||||||
obj = dynamic_cast<clover::image *>(*(cl_mem *)value);
|
obj = dynamic_cast<clover::image *>(*(cl_mem *)value);
|
||||||
|
if (!obj)
|
||||||
|
throw error(CL_INVALID_MEM_OBJECT);
|
||||||
|
|
||||||
__set = true;
|
__set = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue