Browse code

avfilter/af_chorus & aecho: Handle NULL return from av_strtok()

Fixes CID1396260

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

Michael Niedermayer authored on 2017/03/31 05:12:13
Showing 2 changed files
... ...
@@ -77,7 +77,8 @@ static void fill_items(char *item_str, int *nb_items, float *items)
77 77
     for (i = 0; i < *nb_items; i++) {
78 78
         char *tstr = av_strtok(p, "|", &saveptr);
79 79
         p = NULL;
80
-        new_nb_items += sscanf(tstr, "%f", &items[i]) == 1;
80
+        if (tstr)
81
+            new_nb_items += sscanf(tstr, "%f", &items[new_nb_items]) == 1;
81 82
     }
82 83
 
83 84
     *nb_items = new_nb_items;
... ...
@@ -96,7 +96,8 @@ static void fill_items(char *item_str, int *nb_items, float *items)
96 96
     for (i = 0; i < *nb_items; i++) {
97 97
         char *tstr = av_strtok(p, "|", &saveptr);
98 98
         p = NULL;
99
-        new_nb_items += sscanf(tstr, "%f", &items[i]) == 1;
99
+        if (tstr)
100
+            new_nb_items += sscanf(tstr, "%f", &items[new_nb_items]) == 1;
100 101
     }
101 102
 
102 103
     *nb_items = new_nb_items;