Module: libav Branch: release/11 Commit: 744d813bcf527481f2217428fa08bfee8642935b
Author: Luca Barbato <[email protected]> Committer: Vittorio Giovara <[email protected]> Date: Tue Apr 28 01:55:10 2015 +0200 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: [email protected] Signed-off-by: Luca Barbato <[email protected]> --- 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); _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
