From 66fd9e474205d405cd039edd2759f6f390fba77b Mon Sep 17 00:00:00 2001 From: tomasz-platek <165791413+tomasz-platek@users.noreply.github.com> Date: Tue, 29 Oct 2024 17:39:42 +0100 Subject: [PATCH] Fix for out of bounds access (#2105) Rounding up the clusters_results size to avoid out of bounds access when subgroup_size is not a multiple of cluster_size. --- test_conformance/subgroups/test_subgroup_clustered_reduce.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test_conformance/subgroups/test_subgroup_clustered_reduce.cpp b/test_conformance/subgroups/test_subgroup_clustered_reduce.cpp index 4e93e558..fddcce4e 100644 --- a/test_conformance/subgroups/test_subgroup_clustered_reduce.cpp +++ b/test_conformance/subgroups/test_subgroup_clustered_reduce.cpp @@ -103,7 +103,8 @@ template struct RED_CLU int ii = j * ns; int n = ii + ns > nw ? nw - ii : ns; std::vector clusters_results; - int clusters_counter = ns / test_params.cluster_size; + int clusters_counter = (ns + test_params.cluster_size - 1) + / test_params.cluster_size; clusters_results.resize(clusters_counter); // Compute target