OSDN Git Service

avformat/aviobuf: fix null dereference in avio_close_dyn_buf()
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 11 Dec 2013 15:16:04 +0000 (16:16 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 11 Dec 2013 15:16:04 +0000 (16:16 +0100)
Fixes CID1135769

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/aviobuf.c

index 8b4511d..eb5a6e5 100644 (file)
@@ -1036,7 +1036,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;
@@ -1045,6 +1045,7 @@ int avio_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer)
         *pbuffer = NULL;
         return 0;
     }
+    d = s->opaque;
 
     /* don't attempt to pad fixed-size packet buffers */
     if (!s->max_packet_size) {