summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2019-12-15 18:48:28 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-05-08 15:30:56 +0200
commit191b51254cf5d37c84af51d434993efe174b0977 (patch)
tree0c584f432e8a6e4b249298f7ad7ce6a0a9f8de10 /libavformat
parent2fcfc16dd21ac493f5297c6ad694e07e5af1c2e6 (diff)
avformat/hlsenc: Unconditionally free some strings
hls_init() would at first allocate the vtt_basename string, then allocate the vtt_m3u8_name string followed by several operations that may fail and then open the subtitles' output context. Yet upon freeing, these strings were only freed when the subtitles' output context existed, ensuring that they leak if something goes wrong between their allocation and the opening of the subtitles' output context. So drop the check for whether this output context exists. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/hlsenc.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index 0abda8ba30..20f66d52d1 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -2577,12 +2577,10 @@ static void hls_deinit(AVFormatContext *s)
av_freep(&vs->basename);
av_freep(&vs->base_output_dirname);
av_freep(&vs->fmp4_init_filename);
- if (vtt_oc) {
- av_freep(&vs->vtt_basename);
- av_freep(&vs->vtt_m3u8_name);
- avformat_free_context(vtt_oc);
- }
+ av_freep(&vs->vtt_basename);
+ av_freep(&vs->vtt_m3u8_name);
+ avformat_free_context(vtt_oc);
avformat_free_context(vs->avf);
if (hls->resend_init_file)
av_freep(&vs->init_buffer);