From 5d0a8ce3af943c33c4287907033c6ad0a335fba6 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 10 Sep 2008 11:44:02 +0200 Subject: audio: don't free uninitialized audio_buffer free(NULL) isn't explicitly forbidden, but isn't exactly good style. Check the rare case that the audio buffer isn't initialized yet in closeAudioDevice(). In this case, we also don't have to call flushAudioBuffer(). --- src/audio.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/audio.c') diff --git a/src/audio.c b/src/audio.c index b868edb30..7c430b326 100644 --- a/src/audio.c +++ b/src/audio.c @@ -386,11 +386,12 @@ void closeAudioDevice(void) { unsigned int i; - flushAudioBuffer(); - - free(audio_buffer.buffer); - audio_buffer.buffer = NULL; - audio_buffer.size = 0; + if (audio_buffer.buffer != NULL) { + flushAudioBuffer(); + free(audio_buffer.buffer); + audio_buffer.buffer = NULL; + audio_buffer.size = 0; + } for (i = 0; i < audioOutputArraySize; ++i) { if (audioDeviceStates[i] == DEVICE_ON) -- cgit v1.2.3