diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/raudio.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/raudio.c b/src/raudio.c index 660d438d..62229a32 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -766,7 +766,11 @@ Sound LoadSoundFromWave(Wave wave) if (frameCount == 0) TRACELOG(LOG_WARNING, "SOUND: Failed to get frame count for format conversion"); AudioBuffer *audioBuffer = LoadAudioBuffer(AUDIO_DEVICE_FORMAT, AUDIO_DEVICE_CHANNELS, AUDIO_DEVICE_SAMPLE_RATE, frameCount, AUDIO_BUFFER_USAGE_STATIC); - if (audioBuffer == NULL) TRACELOG(LOG_WARNING, "SOUND: Failed to create buffer"); + if (audioBuffer == NULL) + { + TRACELOG(LOG_WARNING, "SOUND: Failed to create buffer"); + return sound; // early return to avoid dereferencing the audioBuffer null pointer + } frameCount = (ma_uint32)ma_convert_frames(audioBuffer->data, frameCount, AUDIO_DEVICE_FORMAT, AUDIO_DEVICE_CHANNELS, AUDIO_DEVICE_SAMPLE_RATE, wave.data, frameCountIn, formatIn, wave.channels, wave.sampleRate); if (frameCount == 0) TRACELOG(LOG_WARNING, "SOUND: Failed format conversion"); |
