]> git.sesse.net Git - ffmpeg/commitdiff
avfilter/af_vibrato: make sure table size is at least 1
authorPaul B Mahol <onemda@gmail.com>
Fri, 25 Dec 2020 13:07:25 +0000 (14:07 +0100)
committerPaul B Mahol <onemda@gmail.com>
Fri, 25 Dec 2020 13:12:52 +0000 (14:12 +0100)
Fixes overreads.

libavfilter/af_vibrato.c

index 22bbab6239b950c8a9aecc8c4fe0cc403d80f708..5db1f0f6c941edafa3b783a333b7a3f0521accf0 100644 (file)
@@ -162,7 +162,7 @@ static int config_input(AVFilterLink *inlink)
     s->buf = av_calloc(inlink->channels, sizeof(*s->buf));
     if (!s->buf)
         return AVERROR(ENOMEM);
-    s->buf_size = inlink->sample_rate * 0.005;
+    s->buf_size = lrint(inlink->sample_rate * 0.005 + 0.5);
     for (c = 0; c < s->channels; c++) {
         s->buf[c] = av_malloc_array(s->buf_size, sizeof(*s->buf[c]));
         if (!s->buf[c])
@@ -170,7 +170,7 @@ static int config_input(AVFilterLink *inlink)
     }
     s->buf_index = 0;
 
-    s->wave_table_size = inlink->sample_rate / s->freq;
+    s->wave_table_size = lrint(inlink->sample_rate / s->freq + 0.5);
     s->wave_table = av_malloc_array(s->wave_table_size, sizeof(*s->wave_table));
     if (!s->wave_table)
         return AVERROR(ENOMEM);