Mercurial > libavcodec.hg
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]); |