Run under MSan:

**Describe the bug**
https://clickhouse-test-reports.s3.yandex.net/29341/2b2bec3679df7965af908ce3f1e8e17e39bd12fe/fuzzer_msan/report.html#fail1

**How to reproduce**
```
SELECT number, nth_value(number, '10') OVER w AS secondValue, nth_value(number, 2147483647) OVER w AS thirdValue FROM numbers(1.) WINDOW w AS (ORDER BY number ASC) ORDER BY toInt64(2147483646 - intDiv(number, 2147483647), toInt64(number, NULL - intDiv(number, NULL), 100000002004087730000.)) ASC, number DESC NULLS FIRST
```

```
Changed settings: max_block_size = '1', max_threads = '1', receive_timeout = '10', receive_data_timeout_ms = '10000', max_rows_to_read = '3', engine_file_empty_if_not_exists = '0'
```
const Block & output_header_,
        const WindowDescription & window_description_,
        const std::vector<WindowFunctionDescription> & functions)
    : IProcessor({input_header_}, {output_header_})
    , input(inputs.front())
    , output(outputs.front())
    , input_header(input_header_)
    , window_description(window_description_)
{
    
    
    auto input_columns = input_header.getColumns();
    for (auto & column : input_columns)
    {
        column = std::move(column)->convertToFullColumnIfConst();
    }
    input_header.setColumns(std::move(input_columns));
    
    workspaces.reserve(functions.size());
    for (const auto & f : functions)
    {
        WindowFunctionWorkspace workspace;
        workspace.aggregate_function = f.aggregate_function;
        const auto & aggregate_function = workspace.aggregate_function;
        if (!arena && aggregate_function->allocatesMemoryInArena())
        {