From 4f5af720885501c2fd379ac030ff476ddb9b1502 Mon Sep 17 00:00:00 2001 From: Tuomas Lauttia Date: Fri, 21 Apr 2023 12:09:55 +0300 Subject: [PATCH] Fixed use-after-free and class-memaccess errors when compiling with GCC 12.2.0 (#1702) --- test_conformance/api/test_create_kernels.cpp | 2 +- test_conformance/device_partition/test_device_partition.cpp | 4 +--- .../multiple_device_context/test_multiple_devices.cpp | 4 +--- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/test_conformance/api/test_create_kernels.cpp b/test_conformance/api/test_create_kernels.cpp index 568e84cb..0aa43614 100644 --- a/test_conformance/api/test_create_kernels.cpp +++ b/test_conformance/api/test_create_kernels.cpp @@ -406,8 +406,8 @@ int test_get_program_info_kernel_names( cl_device_id deviceID, cl_context contex if (i == sizeof( actual_names ) / sizeof( actual_names[0] ) ) { - free(kernel_names); log_error( "Kernel names \"%s\" did not match:\n", kernel_names ); + free(kernel_names); for( i = 0; i < sizeof( actual_names ) / sizeof( actual_names[0] ); i++ ) log_error( "\t\t\"%s\"\n", actual_names[0] ); return -1; diff --git a/test_conformance/device_partition/test_device_partition.cpp b/test_conformance/device_partition/test_device_partition.cpp index abcda6a8..cb53605a 100644 --- a/test_conformance/device_partition/test_device_partition.cpp +++ b/test_conformance/device_partition/test_device_partition.cpp @@ -212,7 +212,7 @@ int test_device_set(size_t deviceCount, size_t queueCount, cl_device_id *devices clProgramWrapper program; clKernelWrapper kernels[2]; clMemWrapper stream; - clCommandQueueWrapper queues[MAX_QUEUES]; + clCommandQueueWrapper queues[MAX_QUEUES] = {}; size_t threads[1], localThreads[1]; int data[TEST_SIZE]; int outputData[TEST_SIZE]; @@ -226,8 +226,6 @@ int test_device_set(size_t deviceCount, size_t queueCount, cl_device_id *devices expectedResultsOneDevice[i] = expectedResultsOneDeviceArray + (i * TEST_SIZE); } - memset(queues, 0, sizeof(queues)); - RandomSeed seed( gRandomSeed ); if (queueCount > MAX_QUEUES) { diff --git a/test_conformance/multiple_device_context/test_multiple_devices.cpp b/test_conformance/multiple_device_context/test_multiple_devices.cpp index 4f187b9c..7a2a3492 100644 --- a/test_conformance/multiple_device_context/test_multiple_devices.cpp +++ b/test_conformance/multiple_device_context/test_multiple_devices.cpp @@ -42,7 +42,7 @@ int test_device_set(size_t deviceCount, size_t queueCount, cl_device_id *devices clProgramWrapper program; clKernelWrapper kernels[2]; clMemWrapper stream; - clCommandQueueWrapper queues[MAX_QUEUES]; + clCommandQueueWrapper queues[MAX_QUEUES] = {}; size_t threads[1], localThreads[1]; cl_uint data[TEST_SIZE]; cl_uint outputData[TEST_SIZE]; @@ -50,8 +50,6 @@ int test_device_set(size_t deviceCount, size_t queueCount, cl_device_id *devices cl_uint expectedResultsOneDevice[MAX_DEVICES][TEST_SIZE]; size_t i; - memset(queues, 0, sizeof(queues)); - RandomSeed seed( gRandomSeed ); if (deviceCount > MAX_DEVICES) {