diff options
| author | Dr. Chat <arkolbed@gmail.com> | 2017-12-26 20:57:28 -0600 |
|---|---|---|
| committer | Dr. Chat <arkolbed@gmail.com> | 2017-12-26 20:58:31 -0600 |
| commit | bfc8ecbeaa1ec1ee4fb69de8bf0277462298cbd4 (patch) | |
| tree | 66e49f675da68be0fd59b8a37c1f13f5d4a89dea /src | |
| parent | 8784daf6bc49eb279060043ad8e8336902b18520 (diff) | |
[XMA] Check for invalid packet number in ValidFrameOffset
Diffstat (limited to 'src')
| -rw-r--r-- | src/xenia/apu/xma_context.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/xenia/apu/xma_context.cc b/src/xenia/apu/xma_context.cc index f20aa4361..2fd40a928 100644 --- a/src/xenia/apu/xma_context.cc +++ b/src/xenia/apu/xma_context.cc @@ -225,6 +225,11 @@ bool XmaContext::ValidFrameOffset(uint8_t* block, size_t size_bytes, size_t frame_offset_bits) { uint32_t packet_num = GetFramePacketNumber(block, size_bytes, frame_offset_bits); + if (packet_num == -1) { + // Invalid packet number + return false; + } + uint8_t* packet = block + (packet_num * kBytesPerPacket); size_t relative_offset_bits = frame_offset_bits % (kBytesPerPacket * 8); |
