ffmpeg | branch: release/2.4 | Luca Barbato <lu_z...@gentoo.org> | Tue Apr 28 
01:55:10 2015 +0200| [744d813bcf527481f2217428fa08bfee8642935b] | committer: 
Vittorio Giovara

avresample: Reallocate the internal buffer to the correct size

Fixes the corner case in which the internal buffer size
is larger than input buffer provided and resizing it
before moving the left over samples would make it write
to now unallocated memory.

Bug-Id: 825
CC: libav-sta...@libav.org

Signed-off-by: Luca Barbato <lu_z...@gentoo.org>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=744d813bcf527481f2217428fa08bfee8642935b
---

 libavresample/resample.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavresample/resample.c b/libavresample/resample.c
index 4553b2c..679e9e9 100644
--- a/libavresample/resample.c
+++ b/libavresample/resample.c
@@ -432,7 +432,9 @@ int ff_audio_resample(ResampleContext *c, AudioData *dst, 
AudioData *src)
         int bps = av_get_bytes_per_sample(c->avr->internal_sample_fmt);
         int i;
 
-        ret = ff_audio_data_realloc(c->buffer, in_samples + c->padding_size);
+        ret = ff_audio_data_realloc(c->buffer,
+                                    FFMAX(in_samples, in_leftover) +
+                                    c->padding_size);
         if (ret < 0) {
             av_log(c->avr, AV_LOG_ERROR, "Error reallocating resampling 
buffer\n");
             return AVERROR(ENOMEM);

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

Reply via email to