]> git.sesse.net Git - ffmpeg/commitdiff
avformat/hlsenc: move freep segment from sls_flags_filename_process after caller...
authorSteven Liu <lq@chinaffmpeg.org>
Thu, 10 Oct 2019 02:07:49 +0000 (10:07 +0800)
committerSteven Liu <lq@chinaffmpeg.org>
Mon, 28 Oct 2019 06:26:04 +0000 (14:26 +0800)
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
libavformat/hlsenc.c

index 7b1d54e23e3ae6a5419c50c5e97401a3a3e25ec6..0876f72f13258723f33c7e707ac23555ba4d9038 100644 (file)
@@ -889,7 +889,6 @@ static int sls_flags_filename_process(struct AVFormatContext *s, HLSContext *hls
         strlen(vs->current_segment_final_filename_fmt)) {
         char * new_url = av_strdup(vs->current_segment_final_filename_fmt);
         if (!new_url) {
-            av_freep(&en);
             return AVERROR(ENOMEM);
         }
         ff_format_set_url(vs->avf, new_url);
@@ -901,7 +900,6 @@ static int sls_flags_filename_process(struct AVFormatContext *s, HLSContext *hls
                        "you can try to remove second_level_segment_size flag\n",
                        vs->avf->url);
                 av_freep(&filename);
-                av_freep(&en);
                 return AVERROR(EINVAL);
             }
             ff_format_set_url(vs->avf, filename);
@@ -915,7 +913,6 @@ static int sls_flags_filename_process(struct AVFormatContext *s, HLSContext *hls
                        "you can try to remove second_level_segment_time flag\n",
                        vs->avf->url);
                 av_freep(&filename);
-                av_freep(&en);
                 return AVERROR(EINVAL);
             }
             ff_format_set_url(vs->avf, filename);
@@ -1037,6 +1034,7 @@ static int hls_append_segment(struct AVFormatContext *s, HLSContext *hls,
     en->var_stream_idx = vs->var_stream_idx;
     ret = sls_flags_filename_process(s, hls, vs, en, duration, pos, size);
     if (ret < 0) {
+        av_freep(&en);
         return ret;
     }