[FFmpeg-cvslog] avformat/oggenc: check for stream private data in ogg_free()

James Almer git at videolan.org
Thu Jun 22 22:13:56 EEST 2017


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Thu Jun 22 15:51:28 2017 -0300| [505cb8e390f275830f5f387020207aaf267be800] | committer: James Almer

avformat/oggenc: check for stream private data in ogg_free()

Fixes a NULL pointer derefence when ogg_init() returns a failure and
a stream's private data was not yet allocated.

This is a regression since 3c5a53cdfa099bba8bd951f95b85727b4b3b5d68

Reviewed-by: Paul B Mahol <onemda at gmail.com>
Signed-off-by: James Almer <jamrial at gmail.com>

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

 libavformat/oggenc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c
index 7c1115afd6..10c4eda062 100644
--- a/libavformat/oggenc.c
+++ b/libavformat/oggenc.c
@@ -743,6 +743,8 @@ static void ogg_free(AVFormatContext *s)
     for (i = 0; i < s->nb_streams; i++) {
         AVStream *st = s->streams[i];
         OGGStreamContext *oggstream = st->priv_data;
+        if (!oggstream)
+            continue;
         if (st->codecpar->codec_id == AV_CODEC_ID_FLAC ||
             st->codecpar->codec_id == AV_CODEC_ID_SPEEX ||
             st->codecpar->codec_id == AV_CODEC_ID_OPUS ||



More information about the ffmpeg-cvslog mailing list