[FFmpeg-cvslog] avformat/hlsenc: Fix memleak when deleting old segments

Andreas Rheinhardt git at videolan.org
Wed Apr 8 17:46:15 EEST 2020

ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at gmail.com> | Wed Apr  8 12:19:39 2020 +0200| [de8f6a403350dca74a4d395a2c8b85592138cf0c] | committer: Andreas Rheinhardt

avformat/hlsenc: Fix memleak when deleting old segments

if the directory name of the segments contains "%v".

This memleak is caused by masking the pointer that will eventually
be freed by a variable of the same name in a smaller scope.
Therefore the pointer that gets freed is always NULL when it is
freed and the allocated data leaks.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=de8f6a403350dca74a4d395a2c8b85592138cf0c

 libavformat/hlsenc.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index b4c72b6e54..0f1f558590 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -532,7 +532,6 @@ static int hls_delete_old_segments(AVFormatContext *s, HLSContext *hls,
     /* if %v is present in the file's directory
      * all segment belongs to the same variant, so do it only once before the loop*/
     if (dirname && av_stristr(dirname, "%v")) {
-        char * dirname_repl = dirname;
         if (!vs->varname) {
             if (replace_int_data_in_filename(&dirname_repl, dirname, 'v', segment->var_stream_idx) < 1) {
                 ret = AVERROR(EINVAL);

More information about the ffmpeg-cvslog mailing list