summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-05-23 03:49:46 +0200
committerwm4 <wm4@nowhere>2020-05-23 03:49:46 +0200
commit43a67970b6c17f8d0525f90fac25923cd4a989bf (patch)
tree9cb605238dfe0c73f8a3d0f1e0ffe92fa3d9881e
parent1826e69af215175ff602e01e76998db3759fc3ab (diff)
downloadmpv-43a67970b6c17f8d0525f90fac25923cd4a989bf.tar.bz2
mpv-43a67970b6c17f8d0525f90fac25923cd4a989bf.tar.xz
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.
-rw-r--r--audio/filter/af_scaletempo.c3
1 files changed, 2 insertions, 1 deletions
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);
}