Commit 1a109fba authored by Steven Liu's avatar Steven Liu

avformat/hlsenc: move freep segment from sls_flags_filename_process after caller failed

Signed-off-by: 's avatarSteven Liu <lq@chinaffmpeg.org>
parent ebff4bbd
...@@ -889,7 +889,6 @@ static int sls_flags_filename_process(struct AVFormatContext *s, HLSContext *hls ...@@ -889,7 +889,6 @@ static int sls_flags_filename_process(struct AVFormatContext *s, HLSContext *hls
strlen(vs->current_segment_final_filename_fmt)) { strlen(vs->current_segment_final_filename_fmt)) {
char * new_url = av_strdup(vs->current_segment_final_filename_fmt); char * new_url = av_strdup(vs->current_segment_final_filename_fmt);
if (!new_url) { if (!new_url) {
av_freep(&en);
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
} }
ff_format_set_url(vs->avf, new_url); ff_format_set_url(vs->avf, new_url);
...@@ -901,7 +900,6 @@ static int sls_flags_filename_process(struct AVFormatContext *s, HLSContext *hls ...@@ -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", "you can try to remove second_level_segment_size flag\n",
vs->avf->url); vs->avf->url);
av_freep(&filename); av_freep(&filename);
av_freep(&en);
return AVERROR(EINVAL); return AVERROR(EINVAL);
} }
ff_format_set_url(vs->avf, filename); ff_format_set_url(vs->avf, filename);
...@@ -915,7 +913,6 @@ static int sls_flags_filename_process(struct AVFormatContext *s, HLSContext *hls ...@@ -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", "you can try to remove second_level_segment_time flag\n",
vs->avf->url); vs->avf->url);
av_freep(&filename); av_freep(&filename);
av_freep(&en);
return AVERROR(EINVAL); return AVERROR(EINVAL);
} }
ff_format_set_url(vs->avf, filename); ff_format_set_url(vs->avf, filename);
...@@ -1037,6 +1034,7 @@ static int hls_append_segment(struct AVFormatContext *s, HLSContext *hls, ...@@ -1037,6 +1034,7 @@ static int hls_append_segment(struct AVFormatContext *s, HLSContext *hls,
en->var_stream_idx = vs->var_stream_idx; en->var_stream_idx = vs->var_stream_idx;
ret = sls_flags_filename_process(s, hls, vs, en, duration, pos, size); ret = sls_flags_filename_process(s, hls, vs, en, duration, pos, size);
if (ret < 0) { if (ret < 0) {
av_freep(&en);
return ret; return ret;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment