diff options
author | wm4 <wm4@nowhere> | 2020-05-23 03:49:46 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2020-05-23 03:49:46 +0200 |
commit | 43a67970b6c17f8d0525f90fac25923cd4a989bf (patch) | |
tree | 9cb605238dfe0c73f8a3d0f1e0ffe92fa3d9881e /audio/filter/af_scaletempo.c | |
parent | 1826e69af215175ff602e01e76998db3759fc3ab (diff) | |
download | mpv-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.
Diffstat (limited to 'audio/filter/af_scaletempo.c')
-rw-r--r-- | audio/filter/af_scaletempo.c | 3 |
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); } |