Browse code

aviobuf: check context before using it

Avoid a possible null pointer dereference.

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

Vittorio Giovara authored on 2014/10/18 09:12:13
Showing 1 changed files
... ...
@@ -965,7 +965,7 @@ int ffio_open_dyn_packet_buf(AVIOContext **s, int max_packet_size)
965 965
 
966 966
 int avio_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer)
967 967
 {
968
-    DynBuffer *d = s->opaque;
968
+    DynBuffer *d;
969 969
     int size;
970 970
     static const char padbuf[FF_INPUT_BUFFER_PADDING_SIZE] = {0};
971 971
     int padding = 0;
... ...
@@ -983,6 +983,7 @@ int avio_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer)
983 983
 
984 984
     avio_flush(s);
985 985
 
986
+    d = s->opaque;
986 987
     *pbuffer = d->buffer;
987 988
     size = d->size;
988 989
     av_free(d);