diff --git a/src/s_sound.c b/src/s_sound.c index a721a9ff4..5dd621725 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -291,12 +291,8 @@ static void SetChannelsNum(void) } #endif if (cv_numChannels.value) - channels = (channel_t *)Z_Malloc(cv_numChannels.value * sizeof (channel_t), PU_STATIC, NULL); - numofchannels = cv_numChannels.value; - - // Free all channels for use - for (i = 0; i < numofchannels; i++) - channels[i].sfxinfo = 0; + channels = (channel_t *)Z_Calloc(cv_numChannels.value * sizeof (channel_t), PU_STATIC, NULL); + numofchannels = (channels ? cv_numChannels.value : 0); S_ResetCaptions(); }