**Describe the bug**
https://clickhouse-test-reports.s3.yandex.net/19702/c74631c650b42e4d107254a03bd82c2c2913039b/fuzzer_msan/server.log

Most likely introduced here: #11006
{
    size_t s = data.size();
    res.resize(s);
    if (s == 0)
        return;
    if (limit >= s)
        limit = 0;
    if (limit)
    {
        for (size_t i = 0; i < s; ++i)
            res[i] = i;
        if (reverse)
            partial_sort(res.begin(), res.begin() + limit, res.end(), greater(*this, nan_direction_hint));
        else
            partial_sort(res.begin(), res.begin() + limit, res.end(), less(*this, nan_direction_hint));
    }
    else
    {
        
        if constexpr (is_arithmetic_v<T> && !std::is_same_v<T, UInt128>)
        {
            
            if (s >= 256 && s <= std::numeric_limits<UInt32>::max())
            {
                PaddedPODArray<ValueWithIndex<T>> pairs(s);
                for (UInt32 i = 0; i < UInt32(s); ++i)
                    pairs[i] = {data[i], i};
                RadixSort<RadixSortTraits<T>>::executeLSD(pairs.data(), s, reverse, res.data());