[libav-stable] aviobuf: check context before using it

Vittorio Giovara git at libav.org
Mon Oct 20 13:25:13 CEST 2014


Module: libav
Branch: master
Commit: d7f530b0d67fe3996dbfa990a47c865e0d1400a2

Author:    Vittorio Giovara <vittorio.giovara at gmail.com>
Committer: Vittorio Giovara <vittorio.giovara at gmail.com>
Date:      Sat Oct 18 01:12:13 2014 +0100

aviobuf: check context before using it

Avoid a possible null pointer dereference.

CC: libav-stable at libav.org
Bug-Id: CID 1135769

---

 libavformat/aviobuf.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index cc79146..6923b78 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -965,7 +965,7 @@ int ffio_open_dyn_packet_buf(AVIOContext **s, int max_packet_size)
 
 int avio_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer)
 {
-    DynBuffer *d = s->opaque;
+    DynBuffer *d;
     int size;
     static const char padbuf[FF_INPUT_BUFFER_PADDING_SIZE] = {0};
     int padding = 0;
@@ -983,6 +983,7 @@ int avio_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer)
 
     avio_flush(s);
 
+    d = s->opaque;
     *pbuffer = d->buffer;
     size = d->size;
     av_free(d);



More information about the libav-stable mailing list