fix(sound): correct potential use-after-scope in SI2::PlaySoundKit

This commit is contained in:
fallenoak 2025-12-07 13:32:53 -06:00
parent 8e06d02632
commit 0d4afee947
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D

View File

@ -369,6 +369,13 @@ int32_t SI2::PlaySoundKit(int32_t id, int32_t a2, SOUNDKITOBJECT* object, SoundK
return 15; return 15;
} }
// Get sound pointer
// Stack-allocated SESound is used as placeholder if no sound was provided by object. This
// needs to be declared here, at function scope, to avoid potential use-after-scope behavior
// in CompleteLoad() and Play() below.
SESound newSound = {};
SESound* sound; SESound* sound;
if (object) { if (object) {
@ -376,7 +383,6 @@ int32_t SI2::PlaySoundKit(int32_t id, int32_t a2, SOUNDKITOBJECT* object, SoundK
// TODO // TODO
} else { } else {
SESound newSound = {};
sound = &newSound; sound = &newSound;
// TODO // TODO