diff options
author | Yang Rong <rong.r.yang@intel.com> | 2017-01-11 18:14:06 +0800 |
---|---|---|
committer | Yang Rong <rong.r.yang@intel.com> | 2017-01-11 18:28:42 +0800 |
commit | e0d746fd7cf2a043e41143790f8c857bc87ad9b9 (patch) | |
tree | 4ce989e99e788f06e575e312d731884de990e703 /src | |
parent | 674003708fabd5b5919f8091f03cc46612821830 (diff) | |
download | beignet-e0d746fd7cf2a043e41143790f8c857bc87ad9b9.tar.gz |
Add some pointer access check.
Signed-off-by: Yang Rong <rong.r.yang@intel.com>
Reviewed-by: Pan Xiuli <xiuli.pan@intel.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/cl_command_queue.c | 1 | ||||
-rw-r--r-- | src/cl_device_enqueue.c | 3 | ||||
-rw-r--r-- | src/cl_utils.c | 2 |
3 files changed, 5 insertions, 1 deletions
diff --git a/src/cl_command_queue.c b/src/cl_command_queue.c index b855ff62..55b1a230 100644 --- a/src/cl_command_queue.c +++ b/src/cl_command_queue.c @@ -64,6 +64,7 @@ cl_create_command_queue(cl_context ctx, cl_device_id device, cl_command_queue_pr cl_command_queue queue = cl_command_queue_new(ctx); if (queue == NULL) { *errcode_ret = CL_OUT_OF_HOST_MEMORY; + return NULL; } queue->props = properties; diff --git a/src/cl_device_enqueue.c b/src/cl_device_enqueue.c index 18cd7e15..b6932df5 100644 --- a/src/cl_device_enqueue.c +++ b/src/cl_device_enqueue.c @@ -75,6 +75,7 @@ cl_device_enqueue_bind_buffer(cl_gpgpu gpgpu, cl_kernel ker, uint32_t *max_bti, } mem = cl_context_get_svm_from_ptr(ker->program->ctx, ker->device_enqueue_ptr); + assert(mem); cl_gpgpu_bind_buf(gpgpu, mem->bo, offset, 0, buf_size, *max_bti); cl_gpgpu_set_kernel(gpgpu, ker); @@ -146,6 +147,7 @@ cl_device_enqueue_parse_result(cl_command_queue queue, cl_gpgpu gpgpu) type = ndrange_info->type; dim = (type & 0xf0) >> 4; type = type & 0xf; + assert(dim <= 2); for(i = 0; i <= dim; i++) { fixed_global_sz[i] = ndrange_info->global_work_size[i]; if(type > 1) @@ -161,6 +163,7 @@ cl_device_enqueue_parse_result(cl_command_queue queue, cl_gpgpu gpgpu) kernel_name = interp_program_get_device_enqueue_kernel_name(ker->program->opaque, block->index); child_ker = cl_program_create_kernel(ker->program, kernel_name, NULL); + assert(child_ker); cl_kernel_set_arg_svm_pointer(child_ker, 0, block); int index = 1; for(i=0; i<slm_size/sizeof(int); i++, index++) { diff --git a/src/cl_utils.c b/src/cl_utils.c index bc62feb7..38de1eab 100644 --- a/src/cl_utils.c +++ b/src/cl_utils.c @@ -76,7 +76,7 @@ cl_get_info_helper(const void *src, size_t src_size, void *dst, size_t dst_size, if (dst && dst_size < src_size) return CL_INVALID_VALUE; - if (dst_size) { + if (dst && dst_size) { memcpy(dst, src, src_size); } |