onnxruntime
a65ac449 - Fix rotary embedding oob issue (#29014)

Commit
24 days ago
Fix rotary embedding oob issue (#29014) This pull request improves the validation logic for the RotaryEmbedding operator to prevent out-of-bounds reads when the rotary embedding dimension derived from `cos_cache` exceeds the input tensor's `hidden_size`. It also adds dedicated unit tests to verify that this validation triggers as expected. **Validation improvements:** * Added a check in `rotary_embedding_helper.h` to ensure that the effective rotary embedding dimension (`cos_cache` width × 2) does not exceed `hidden_size` when `rotary_embedding_dim` is 0, returning an error if the condition is violated. **Unit test additions:** * Added `ContribRotaryEmbedding_RejectsCosCacheExceedsHiddenSize` test in `rotary_embedding_op_test.cc` to verify that an invalid configuration is correctly rejected in the contrib op. * Added `RotaryEmbedding_RejectsCosCacheExceedsHiddenSize` test in `rotary_embedding_op_test.cc` (providers/cpu/llm) to verify the same validation in the mainline op.
Author
Parents
Loading