comparison resample.c @ 8911:28b706b75b00 libavcodec

Prevent heap corruption when resampling 8-bit audio.
author pross
date Sun, 15 Feb 2009 06:29:43 +0000
parents cbeaa8c0fe4f
children fff66291d84d
comparison
equal deleted inserted replaced
8910:a11771712f48 8911:28b706b75b00
249 if (s->sample_fmt[0] != SAMPLE_FMT_S16) { 249 if (s->sample_fmt[0] != SAMPLE_FMT_S16) {
250 int istride[1] = { s->sample_size[0] }; 250 int istride[1] = { s->sample_size[0] };
251 int ostride[1] = { 2 }; 251 int ostride[1] = { 2 };
252 const void *ibuf[1] = { input }; 252 const void *ibuf[1] = { input };
253 void *obuf[1]; 253 void *obuf[1];
254 unsigned input_size = nb_samples*s->input_channels*s->sample_size[0]; 254 unsigned input_size = nb_samples*s->input_channels*2;
255 255
256 if (!s->buffer_size[0] || s->buffer_size[0] < input_size) { 256 if (!s->buffer_size[0] || s->buffer_size[0] < input_size) {
257 av_free(s->buffer[0]); 257 av_free(s->buffer[0]);
258 s->buffer_size[0] = input_size; 258 s->buffer_size[0] = input_size;
259 s->buffer[0] = av_malloc(s->buffer_size[0]); 259 s->buffer[0] = av_malloc(s->buffer_size[0]);