Browse Source

Merge remote-tracking branch 'cigaes/master'

* cigaes/master:
  lavf/tee: fix leak of bsfs array.
  lavf/tee: fix leak of select option.
  lavf/tee: fix leak of strdup/strtoked buffer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.1
Michael Niedermayer 12 years ago
parent
commit
23c0698499
1 changed files with 5 additions and 3 deletions
  1. +5
    -3
      libavformat/tee.c

+ 5
- 3
libavformat/tee.c View File

@@ -102,10 +102,10 @@ fail:
static int parse_bsfs(void *log_ctx, const char *bsfs_spec,
AVBitStreamFilterContext **bsfs)
{
char *bsf_name, *buf, *saveptr;
char *bsf_name, *buf, *dup, *saveptr;
int ret = 0;

if (!(buf = av_strdup(bsfs_spec)))
if (!(dup = buf = av_strdup(bsfs_spec)))
return AVERROR(ENOMEM);

while (bsf_name = av_strtok(buf, ",", &saveptr)) {
@@ -128,7 +128,7 @@ static int parse_bsfs(void *log_ctx, const char *bsfs_spec,
}

end:
av_free(buf);
av_free(dup);
return ret;
}

@@ -280,6 +280,7 @@ static int open_slave(AVFormatContext *avf, char *slave, TeeSlave *tee_slave)

end:
av_free(format);
av_free(select);
av_dict_free(&options);
return ret;
}
@@ -302,6 +303,7 @@ static void close_slaves(AVFormatContext *avf)
}
}
av_freep(&tee->slaves[i].stream_map);
av_freep(&tee->slaves[i].bsfs);

avio_close(avf2->pb);
avf2->pb = NULL;


Loading…
Cancel
Save