Files
ppsspp/Core
Henrik Rydgård 90d8be9348 sceSasSetGrain/SasReverb: validate grain size and reverb preset index
sceSasSetGrain took no validation at all, unlike sceSasInit's grain
size check - a bad value could both throw on SasInstance::SetGrainSize's
allocation and, for a moderately large but successfully-allocated
value beyond PSP_SAS_MAX_GRAIN, read out of bounds of the fixed-size
mixTemp_ buffer during mixing. Apply the same bounds sceSasInit uses.

SasReverb::SetPreset() only checked the upper bound of `preset` before
indexing presets[], not the lower bound (-1 means "off"). The only
live HLE entry point (sceSasRevType) already clamps to [-1, 8], but
DoState() passes a savestate-deserialized value straight through with
no revalidation, so a corrupted/malicious savestate could index
presets[] negatively.
2026-08-12 09:43:23 +02:00
..
2026-08-11 20:12:10 +02:00
2026-08-11 20:12:10 +02:00
2026-08-11 20:14:01 +02:00
2026-06-02 11:15:08 +02:00
2026-08-11 10:28:36 +02:00
2026-08-09 22:10:54 +02:00
2026-08-11 10:28:36 +02:00
2026-07-29 16:27:33 +02:00
2026-08-03 19:11:07 +02:00
2026-08-11 20:12:10 +02:00
2026-08-05 09:48:51 +02:00
2026-08-05 00:15:56 +02:00
2026-08-11 20:14:01 +02:00
2025-03-27 14:26:48 +01:00
2026-08-11 20:12:10 +02:00
2026-08-11 20:14:01 +02:00
2026-08-11 20:14:01 +02:00
2026-07-29 16:27:33 +02:00
2026-08-11 15:43:48 +02:00
2026-07-27 18:37:28 +02:00