summaryrefslogtreecommitdiff
path: root/StormLib/src/SFileCompactArchive.cpp
diff options
context:
space:
mode:
authorDavid Racine <bass_dr@hotmail.com>2026-08-22 10:19:04 -0400
committerGitHub <noreply@github.com>2026-08-22 14:19:04 +0000
commit27b71b1a54c77711caf2a4fbe76961df6504b960 (patch)
tree4ea32422e21b3d4140bc8ce5c8e12ac28f2ae8f6 /StormLib/src/SFileCompactArchive.cpp
parent22426a8127e71f3eb2729c66c9f642944bc44b01 (diff)
Drop the seqLoadStatus bounds checks made redundant by #6932 (#7100)
#6917 guarded the three seqLoadStatus accessors against sequenceMapSize because the array was allocated at exactly that size, so a custom sequence id past it read and wrote off the end. #6932 sized the array to sequenceMapSize + 0xF to match sequenceMap, which covers the whole id space rather than rejecting the ids outside it, and also protects the writers those guards never saw: AudioHeap_AllocCached and AudioHeap_PopCache index seqLoadStatus directly. The guards are now not just redundant but bounded wrong - they treat the ids in [sequenceMapSize, sequenceMapSize + 0xF) as absent from a table that now has room for them. Nothing breaks today because every entry starts at 5, so AudioLoad_IsSeqLoadComplete answers true regardless and AudioLoad_SetSeqLoadStatus already declines to overwrite a 5 - but once the heap cache path moves such an entry off 5, the guard blocks an update that should happen. Reverting them restores the three functions to their decompiled form. The sizing from #6932 and the id check in AudioLoad_SyncInitSeqPlayerInternal remain the actual protection.
Diffstat (limited to 'StormLib/src/SFileCompactArchive.cpp')
0 files changed, 0 insertions, 0 deletions