From 24fa44e12b5d3a45333ca8767df7e300c51569bb Mon Sep 17 00:00:00 2001 From: troky Date: Wed, 11 Jun 2014 00:11:11 +0200 Subject: [PATCH] Make sure log string is null-terminated. --- logging.c | 2 +- ocl/build_kernel.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/logging.c b/logging.c index c45ebc7f..dbebacfd 100644 --- a/logging.c +++ b/logging.c @@ -70,7 +70,7 @@ void vapplogsiz(int prio, int size, const char* fmt, va_list args) { if (opt_debug || prio != LOG_DEBUG) { if (use_syslog || opt_log_output || prio <= opt_log_level) { - char *tmp42 = (char *)calloc(size, 1); + char *tmp42 = (char *)calloc(size + 1, 1); vsnprintf(tmp42, size, fmt, args); _applog(prio, tmp42, false); free(tmp42); diff --git a/ocl/build_kernel.c b/ocl/build_kernel.c index 73527bf1..b2afd727 100644 --- a/ocl/build_kernel.c +++ b/ocl/build_kernel.c @@ -126,8 +126,9 @@ cl_program build_opencl_kernel(build_kernel_data *data, const char *filename) applog(LOG_ERR, "Error %d: Building Program (clBuildProgram)", status); status = clGetProgramBuildInfo(program, *data->device, CL_PROGRAM_BUILD_LOG, 0, NULL, &log_size); - char *sz_log = (char *)malloc(log_size); + char *sz_log = (char *)malloc(log_size + 1); status = clGetProgramBuildInfo(program, *data->device, CL_PROGRAM_BUILD_LOG, log_size, sz_log, NULL); + sz_log[log_size] = '\0'; applogsiz(LOG_ERR, log_size, "%s", sz_log); free(sz_log); goto out;