From: Travis Cross Date: Fri, 22 Aug 2014 01:59:11 +0000 (+0000) Subject: Handle zero channels when allocating for resampler X-Git-Tag: v1.4.8~5^2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=decc19ccd130ffea2309156a71cf83352c463253;p=thirdparty%2Ffreeswitch.git Handle zero channels when allocating for resampler When the number of channels was zero, we were calling malloc with a size of zero. While defined, this is unusual. And since we're initializing the speex resampler as though there were one channel in this case, we should probably just allocate the space for it. --- diff --git a/src/switch_resample.c b/src/switch_resample.c index fa229a68cf..ed584e39af 100644 --- a/src/switch_resample.c +++ b/src/switch_resample.c @@ -78,7 +78,7 @@ SWITCH_DECLARE(switch_status_t) switch_resample_perform_create(switch_audio_resa resampler->factor = (lto_rate / lfrom_rate); resampler->rfactor = (lfrom_rate / lto_rate); resampler->to_size = resample_buffer(to_rate, from_rate, (uint32_t) to_size); - resampler->to = malloc(resampler->to_size * sizeof(int16_t) * channels); + resampler->to = malloc(resampler->to_size * sizeof(int16_t) * (channels ? channels : 1)); resampler->channels = channels; return SWITCH_STATUS_SUCCESS;