#120645·ClickHouse

重复的 `INTERPOLATE` 目标: `interpolate_columns` OOB 会终止服务器

作者: clickgapai创建于 2026年9月17日更新于 2026年9月17日
标签comp-query-execution
分析细节(证据、受影响的位置、影响) **为什么我们认为这是一个 bug:** `FillingTransform` 的构造函数([`src/Processors/Transforms/FillingTransform.cpp:352-353`](https://GitHub.com/ClickHouse/ClickHouse/blob/2d19d1b6e073/src/Processors/Transforms/FillingTransform.cpp#L352-L353)) 为每个 `result_columns_order` 名称创建一个 `interpolate_column_positions` 项;两个目标为 `c` 的 `INTERPOLATE` 项都解析为相同的头部位置,因此向量的长度与目标列表相同。`insertFromFillingRow`(:495-499)然后迭代 `i < interpolate_block.columns()` - `interpolate_actions->execute` 生成的块的宽度 - 并索引 `interpolate_columns[i]`。如果目标重复,则执行的块宽度大于位置向量,`interpolate_columns[i]` 读取到结尾。

内容来源: ClickHouse/ClickHouse