vf_psnr/ssim: don't crash if stats_file is NULL.
authorRonald S. Bultje <rsbultje@gmail.com>
Thu, 22 Oct 2015 22:00:40 +0000 (18:00 -0400)
committerRonald S. Bultje <rsbultje@gmail.com>
Fri, 23 Oct 2015 10:38:30 +0000 (06:38 -0400)
libavfilter/vf_psnr.c
libavfilter/vf_ssim.c

index ca41939..36bbab2 100644 (file)
@@ -193,17 +193,19 @@ static av_cold int init(AVFilterContext *ctx)
     s->min_mse = +INFINITY;
     s->max_mse = -INFINITY;
 
-    if (!strcmp(s->stats_file_str, "-")) {
-        s->stats_file = stdout;
-    } else if (s->stats_file_str) {
-        s->stats_file = fopen(s->stats_file_str, "w");
-        if (!s->stats_file) {
-            int err = AVERROR(errno);
-            char buf[128];
-            av_strerror(err, buf, sizeof(buf));
-            av_log(ctx, AV_LOG_ERROR, "Could not open stats file %s: %s\n",
-                   s->stats_file_str, buf);
-            return err;
+    if (s->stats_file_str) {
+        if (!strcmp(s->stats_file_str, "-")) {
+            s->stats_file = stdout;
+        } else {
+            s->stats_file = fopen(s->stats_file_str, "w");
+            if (!s->stats_file) {
+                int err = AVERROR(errno);
+                char buf[128];
+                av_strerror(err, buf, sizeof(buf));
+                av_log(ctx, AV_LOG_ERROR, "Could not open stats file %s: %s\n",
+                       s->stats_file_str, buf);
+                return err;
+            }
         }
     }
 
index 4dc96a7..ce1e3db 100644 (file)
@@ -223,17 +223,19 @@ static av_cold int init(AVFilterContext *ctx)
 {
     SSIMContext *s = ctx->priv;
 
-    if (!strcmp(s->stats_file_str, "-")) {
-        s->stats_file = stdout;
-    } else if (s->stats_file_str) {
-        s->stats_file = fopen(s->stats_file_str, "w");
-        if (!s->stats_file) {
-            int err = AVERROR(errno);
-            char buf[128];
-            av_strerror(err, buf, sizeof(buf));
-            av_log(ctx, AV_LOG_ERROR, "Could not open stats file %s: %s\n",
-                   s->stats_file_str, buf);
-            return err;
+    if (s->stats_file_str) {
+        if (!strcmp(s->stats_file_str, "-")) {
+            s->stats_file = stdout;
+        } else {
+            s->stats_file = fopen(s->stats_file_str, "w");
+            if (!s->stats_file) {
+                int err = AVERROR(errno);
+                char buf[128];
+                av_strerror(err, buf, sizeof(buf));
+                av_log(ctx, AV_LOG_ERROR, "Could not open stats file %s: %s\n",
+                       s->stats_file_str, buf);
+                return err;
+            }
         }
     }