onnxruntime
8d187b0d - [OpenVINO EP] Fix constant output mis-routing for names containing '/' (#29882)

Commit
66 days ago
[OpenVINO EP] Fix constant output mis-routing for names containing '/' (#29882) ### Description `GetOutputTensor` in the OpenVINO EP resolved a constant-folded output's OpenVINO friendly name back to an ONNX output by truncating at the first `/` and doing an exact-string lookup. OpenVINO appends a `/sink_port_0` suffix to the friendly name, and ONNX output names may themselves contain `/`, so a name like `D/x/sink_port_0` was truncated to `D` and matched different output named `D`. The constant was then written into the wrong output's slot; with a pre-bound fixed-size output buffer this is an out-of-bounds write. This PR: - Matches the full friendly name first, and only strips the single trailing `/`-suffix if that fails, so names containing `/` resolve correctly. - Adds a byte-size bounds check in `FillOutputHelper` before the `std::copy`, so any residual size mismatch throws instead of overrunning the buffer. - Adds regression tests covering the same-shape mis-route and the mismatched-shape overrun.
Author
Parents
Loading