From 43a67970b6c17f8d0525f90fac25923cd4a989bf Mon Sep 17 00:00:00 2001 From: wm4 Date: Sat, 23 May 2020 03:49:46 +0200 Subject: af_scaletempo: fix theoretical UB Passing NULL to memset() is undefined behavior, even if the size argument is 0. Could happen on init errors and such. --- audio/filter/af_scaletempo.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/audio/filter/af_scaletempo.c b/audio/filter/af_scaletempo.c index 911fd8914e..b1ee790189 100644 --- a/audio/filter/af_scaletempo.c +++ b/audio/filter/af_scaletempo.c @@ -538,7 +538,8 @@ static void reset(struct mp_filter *f) s->bytes_queued = 0; s->bytes_to_slide = 0; s->frames_stride_error = 0; - memset(s->buf_overlap, 0, s->bytes_overlap); + if (s->buf_overlap && s->bytes_overlap) + memset(s->buf_overlap, 0, s->bytes_overlap); TA_FREEP(&s->in); } -- cgit v1.2.3