From 7c65afc4e71b6b6b6023b598f9f675ebfeffc8a5 Mon Sep 17 00:00:00 2001 From: jansol Date: Tue, 7 Jun 2022 18:55:43 +0300 Subject: [PATCH] test_compiler_defines_for_extensions: fix overflow (#1430) GCC 11.2.0 warns about a possible string overflow (when num_not_supported_extensions+num_of_supported_extensions == 0) since no space would be allocated for the terminating null byte that string manipulation fns expect to find. This unconditionally adds an extra byte to the allocation to silence the warning and fix building with -Werror. --- .../compiler/test_compiler_defines_for_extensions.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/test_conformance/compiler/test_compiler_defines_for_extensions.cpp b/test_conformance/compiler/test_compiler_defines_for_extensions.cpp index 1519779a..84b7798f 100644 --- a/test_conformance/compiler/test_compiler_defines_for_extensions.cpp +++ b/test_conformance/compiler/test_compiler_defines_for_extensions.cpp @@ -322,8 +322,15 @@ int test_compiler_defines_for_extensions(cl_device_id device, cl_context context } // Build the kernel - char *kernel_code = (char*)malloc(1025*256*(num_not_supported_extensions+num_of_supported_extensions)); - memset(kernel_code, 0, 1025*256*(num_not_supported_extensions+num_of_supported_extensions)); + char *kernel_code = (char *)malloc( + 1 + + 1025 * 256 + * (num_not_supported_extensions + num_of_supported_extensions)); + memset( + kernel_code, 0, + 1 + + 1025 * 256 + * (num_not_supported_extensions + num_of_supported_extensions)); int i, index = 0; strcat(kernel_code, kernel_strings[0]);