lavf/segment: abort in case of invalid segment format options
authorStefano Sabatini <stefasab@gmail.com>
Mon, 8 Sep 2014 10:47:37 +0000 (12:47 +0200)
committerStefano Sabatini <stefasab@gmail.com>
Mon, 8 Sep 2014 13:22:55 +0000 (15:22 +0200)
libavformat/segment.c

index 00e5881..f35bbef 100644 (file)
@@ -662,8 +662,10 @@ static int seg_write_header(AVFormatContext *s)
     if (av_dict_count(options)) {
         av_log(s, AV_LOG_ERROR,
                "Some of the provided format options in '%s' are not recognized\n", seg->format_options_str);
     if (av_dict_count(options)) {
         av_log(s, AV_LOG_ERROR,
                "Some of the provided format options in '%s' are not recognized\n", seg->format_options_str);
+        ret = AVERROR(EINVAL);
+        goto fail;
     }
     }
-    av_dict_free(&options);
+
     if (ret < 0) {
         avio_close(oc->pb);
         goto fail;
     if (ret < 0) {
         avio_close(oc->pb);
         goto fail;
@@ -681,6 +683,7 @@ static int seg_write_header(AVFormatContext *s)
     }
 
 fail:
     }
 
 fail:
+    av_dict_free(&options);
     if (ret) {
         if (seg->list)
             avio_close(seg->list_pb);
     if (ret) {
         if (seg->list)
             avio_close(seg->list_pb);