audio: Fixed potential NULL dereference.
This could happen if you call SDL_BindAudioStreams() when the subsystem isn't initialized, and possibly in other corner cases. Thanks to Qianxin CodeSafe Team, @QiAnXinCodeSafe, for discovering this issue! Fixes #11643.
This commit is contained in:
@@ -234,6 +234,10 @@ static bool AudioDeviceCanUseSimpleCopy(SDL_AudioDevice *device)
|
|||||||
// should hold device->lock before calling.
|
// should hold device->lock before calling.
|
||||||
static void UpdateAudioStreamFormatsPhysical(SDL_AudioDevice *device)
|
static void UpdateAudioStreamFormatsPhysical(SDL_AudioDevice *device)
|
||||||
{
|
{
|
||||||
|
if (!device) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (device->recording) { // for recording devices, we only want to move to float32 for postmix and gain, which we'll handle elsewhere.
|
if (device->recording) { // for recording devices, we only want to move to float32 for postmix and gain, which we'll handle elsewhere.
|
||||||
// we _do_ need to make sure the channel map is correct, though...
|
// we _do_ need to make sure the channel map is correct, though...
|
||||||
for (SDL_LogicalAudioDevice *logdev = device->logical_devices; logdev; logdev = logdev->next) {
|
for (SDL_LogicalAudioDevice *logdev = device->logical_devices; logdev; logdev = logdev->next) {
|
||||||
|
|||||||
Reference in New Issue
Block a user