avfilter/vf_format: Check pix_fmts before dereferencing it
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 3 Jul 2014 00:05:34 +0000 (02:05 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 3 Jul 2014 00:29:49 +0000 (02:29 +0200)
Fixes CID1224286

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavfilter/vf_format.c

index afa17fe..13b41e4 100644 (file)
@@ -60,6 +60,9 @@ static av_cold int init(AVFilterContext *ctx)
     int i;
     int ret;
 
+    if (!s->pix_fmts)
+        return AVERROR(EINVAL);
+
     /* count the formats */
     cur = s->pix_fmts;
     while ((cur = strchr(cur, '|'))) {
@@ -72,9 +75,6 @@ static av_cold int init(AVFilterContext *ctx)
     if (!s->formats)
         return AVERROR(ENOMEM);
 
-    if (!s->pix_fmts)
-        return AVERROR(EINVAL);
-
     /* parse the list of formats */
     cur = s->pix_fmts;
     for (i = 0; i < nb_formats; i++) {