[FFmpeg-cvslog] avformat/segment: Use av_freep() avoid leaving stale pointers in memory
Michael Niedermayer
git at videolan.org
Thu Dec 25 13:04:39 CET 2014
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Thu Dec 25 12:38:20 2014 +0100| [68fa549230af35179df2a2af2bdb84ee6c825bed] | committer: Michael Niedermayer
avformat/segment: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=68fa549230af35179df2a2af2bdb84ee6c825bed
---
libavformat/segment.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/libavformat/segment.c b/libavformat/segment.c
index 2cad6e3..56ffcdc 100644
--- a/libavformat/segment.c
+++ b/libavformat/segment.c
@@ -343,7 +343,7 @@ static int segment_end(AVFormatContext *s, int write_trailer, int is_last)
if (seg->list_size && seg->segment_count >= seg->list_size) {
entry = seg->segment_list_entries;
seg->segment_list_entries = seg->segment_list_entries->next;
- av_free(entry->filename);
+ av_freep(&entry->filename);
av_freep(&entry);
}
@@ -501,10 +501,10 @@ static int open_null_ctx(AVIOContext **ctx)
return 0;
}
-static void close_null_ctx(AVIOContext *pb)
+static void close_null_ctxp(AVIOContext **pb)
{
- av_free(pb->buffer);
- av_free(pb);
+ av_freep(&(*pb)->buffer);
+ av_freep(pb);
}
static int select_reference_stream(AVFormatContext *s)
@@ -687,7 +687,7 @@ static int seg_write_header(AVFormatContext *s)
s->avoid_negative_ts = 1;
if (!seg->write_header_trailer) {
- close_null_ctx(oc->pb);
+ close_null_ctxp(&oc->pb);
if ((ret = avio_open2(&oc->pb, oc->filename, AVIO_FLAG_WRITE,
&s->interrupt_callback, NULL)) < 0)
goto fail;
@@ -820,7 +820,7 @@ static int seg_write_trailer(struct AVFormatContext *s)
goto fail;
open_null_ctx(&oc->pb);
ret = av_write_trailer(oc);
- close_null_ctx(oc->pb);
+ close_null_ctxp(&oc->pb);
} else {
ret = segment_end(s, 1, 1);
}
@@ -836,7 +836,7 @@ fail:
cur = seg->segment_list_entries;
while (cur) {
next = cur->next;
- av_free(cur->filename);
+ av_freep(&cur->filename);
av_free(cur);
cur = next;
}
More information about the ffmpeg-cvslog
mailing list