From b3928a1cc65462a72fea538fcf082cbc8f373e37 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 10 Dec 2016 01:52:56 +0100 Subject: swresample/swresample: Check count before memcpy() Fixes undefined operation Fixes part of 668007-media Found-by: Matt Wolenetz Signed-off-by: Michael Niedermayer --- libswresample/swresample.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libswresample/swresample.c b/libswresample/swresample.c index 0ef4dea91b..dea61391ac 100644 --- a/libswresample/swresample.c +++ b/libswresample/swresample.c @@ -413,9 +413,9 @@ int swri_realloc_audio(AudioData *a, int count){ return AVERROR(ENOMEM); for(i=0; ich_count; i++){ a->ch[i]= a->data + i*(a->planar ? countb : a->bps); - if(a->planar) memcpy(a->ch[i], old.ch[i], a->count*a->bps); + if(a->count && a->planar) memcpy(a->ch[i], old.ch[i], a->count*a->bps); } - if(!a->planar) memcpy(a->ch[0], old.ch[0], a->count*a->ch_count*a->bps); + if(a->count && !a->planar) memcpy(a->ch[0], old.ch[0], a->count*a->ch_count*a->bps); av_freep(&old.data); a->count= count; -- cgit v1.2.3