From 9797b819f2923a6f2790c0ab99b9ea973ec650fb Mon Sep 17 00:00:00 2001 From: Oleksandr Pavlyk <21087696+oleksandr-pavlyk@users.noreply.github.com> Date: Tue, 20 Oct 2026 13:47:47 -0500 Subject: [PATCH] Fix access to uninitialized memory compute-sanitizer flagged issues Closes #12097. Initilize block_size device vector with zero for correctness of subsequent atomicMax updates on that memory. Also avoid copying uninitialized device memory and discarding it away, avoid accessing it to begin with. --- cub/test/catch2_test_device_set_operations_pairs_env.cu | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/cub/test/catch2_test_device_set_operations_pairs_env.cu b/cub/test/catch2_test_device_set_operations_pairs_env.cu index f16d8a52527d..27e94a517087 100644 --- a/cub/test/catch2_test_device_set_operations_pairs_env.cu +++ b/cub/test/catch2_test_device_set_operations_pairs_env.cu @@ -135,12 +135,10 @@ void check_pairs(const c2h::device_vector& keys1, const int num = num_selected[0]; REQUIRE(num == static_cast(reference.size())); - c2h::host_vector keys_out_h(keys_out); - keys_out_h.resize(num); + c2h::host_vector keys_out_h(keys_out.begin(), keys_out.begin() + num); REQUIRE(reference == keys_out_h); - c2h::host_vector values_out_h(values_out); - values_out_h.resize(num); + c2h::host_vector values_out_h(values_out.begin(), values_out.begin() + num); for (int i = 0; i < num; ++i) { const int key = keys_out_h[i]; @@ -329,7 +327,7 @@ CUB_TEST("DeviceSetOps pairs can be tuned", "[set_ops][device]", CUB_SMALL, key_ auto keys_out = c2h::device_vector(keys1.size() + keys2.size(), thrust::default_init); auto vals_out = c2h::device_vector(keys1.size() + keys2.size(), thrust::default_init); auto num = c2h::device_vector(1, thrust::default_init); - auto d_block_size = c2h::device_vector(1, thrust::default_init); + auto d_block_size = c2h::device_vector(1, 0u); const block_size_extracting_op<::cuda::std::less<>> block_size_check{thrust::raw_pointer_cast(d_block_size.data())}; auto env = ::cuda::execution::tune(set_ops_tuning{});