]> git.sesse.net Git - ffmpeg/commitdiff
avformat/hlsenc: Fix memleak when deleting old segments
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Wed, 8 Apr 2020 10:19:39 +0000 (12:19 +0200)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Wed, 8 Apr 2020 14:30:45 +0000 (16:30 +0200)
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@gmail.com>
libavformat/hlsenc.c

index b4c72b6e54c556b7bca0e309fec496fc9dc084b4..0f1f5585900caddc82c07792d15b0df25ac74975 100644 (file)
@@ -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);