[FFmpeg-devel] [PATCH 2/2] avfilter/af_chorus & aecho: Handle NULL return from av_strtok()

Michael Niedermayer michael at niedermayer.cc
Thu Mar 30 23:12:13 EEST 2017


Fixes CID1396260

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavfilter/af_aecho.c  | 3 ++-
 libavfilter/af_chorus.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavfilter/af_aecho.c b/libavfilter/af_aecho.c
index 82049e9541..cfaea3de43 100644
--- a/libavfilter/af_aecho.c
+++ b/libavfilter/af_aecho.c
@@ -77,7 +77,8 @@ static void fill_items(char *item_str, int *nb_items, float *items)
     for (i = 0; i < *nb_items; i++) {
         char *tstr = av_strtok(p, "|", &saveptr);
         p = NULL;
-        new_nb_items += sscanf(tstr, "%f", &items[i]) == 1;
+        if (tstr)
+            new_nb_items += sscanf(tstr, "%f", &items[new_nb_items]) == 1;
     }
 
     *nb_items = new_nb_items;
diff --git a/libavfilter/af_chorus.c b/libavfilter/af_chorus.c
index c596164382..87c8290097 100644
--- a/libavfilter/af_chorus.c
+++ b/libavfilter/af_chorus.c
@@ -96,7 +96,8 @@ static void fill_items(char *item_str, int *nb_items, float *items)
     for (i = 0; i < *nb_items; i++) {
         char *tstr = av_strtok(p, "|", &saveptr);
         p = NULL;
-        new_nb_items += sscanf(tstr, "%f", &items[i]) == 1;
+        if (tstr)
+            new_nb_items += sscanf(tstr, "%f", &items[new_nb_items]) == 1;
     }
 
     *nb_items = new_nb_items;
-- 
2.11.0



More information about the ffmpeg-devel mailing list