diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-01-19 21:57:11 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-01-19 21:57:11 +0100 |
commit | e7d045db8c26bf7482805ca67f97ce1ca0da59bd (patch) | |
tree | b9c812f185be4258b4fd3235b859f211262f98ea | |
parent | fc5fafbb328ff433d0bf32d510ae2ceb380fe230 (diff) | |
parent | f286e93fef4a74c5efbb024d7634d4fa6a9eb127 (diff) |
Merge pull request #71314 from stmSi/fix-ogg-packet-out-of-bound
Fix OGG page_data out of bound index crash
-rw-r--r-- | modules/ogg/ogg_packet_sequence.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/modules/ogg/ogg_packet_sequence.cpp b/modules/ogg/ogg_packet_sequence.cpp index 0acaaf5fc9..d473f3b4a0 100644 --- a/modules/ogg/ogg_packet_sequence.cpp +++ b/modules/ogg/ogg_packet_sequence.cpp @@ -136,6 +136,8 @@ bool OggPacketSequencePlayback::next_ogg_packet(ogg_packet **p_packet) const { ERR_FAIL_COND_V(data_version != ogg_packet_sequence->data_version, false); ERR_FAIL_COND_V(ogg_packet_sequence->page_data.is_empty(), false); ERR_FAIL_COND_V(ogg_packet_sequence->page_granule_positions.is_empty(), false); + ERR_FAIL_COND_V(page_cursor >= ogg_packet_sequence->page_data.size(), false); + // Move on to the next page if need be. This happens first to help simplify seek logic. while (packet_cursor >= ogg_packet_sequence->page_data[page_cursor].size()) { packet_cursor = 0; |