FS-7465: make sure write buffer is big enough on stereo file handles

This commit is contained in:
Michael Jerris 2015-04-24 09:47:16 -05:00 committed by Brian
parent d3a747ad02
commit dbc124d45e
1 changed files with 2 additions and 2 deletions

View File

@ -412,14 +412,14 @@ SWITCH_DECLARE(switch_status_t) switch_core_file_write(switch_file_handle_t *fh,
switch_resample_process(fh->resampler, data, (uint32_t) * len);
if (fh->resampler->to_len > orig_len) {
if (!fh->dbuf) {
if (!fh->dbuf || (fh->dbuflen < fh->resampler->to_len * 2 * fh->channels)) {
void *mem;
fh->dbuflen = fh->resampler->to_len * 2 * fh->channels;
mem = realloc(fh->dbuf, fh->dbuflen);
switch_assert(mem);
fh->dbuf = mem;
}
switch_assert(fh->resampler->to_len * 2 *fh->channels <= fh->dbuflen);
switch_assert(fh->resampler->to_len * 2 * fh->channels <= fh->dbuflen);
memcpy(fh->dbuf, fh->resampler->to, fh->resampler->to_len * 2 * fh->channels);
data = fh->dbuf;
} else {