diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index f057c0755a033eaedc99b75a02e4629f9f0e505b..ed6817099f9db9a6f7caa6c9edf63458f89b03a1 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -1443,8 +1443,11 @@ static int mkv_write_packet_internal(AVFormatContext *s, AVPacket *pkt) ts += mkv->tracks[pkt->stream_index].ts_offset; if (!s->pb->seekable) { - if (!mkv->dyn_bc) - avio_open_dyn_buf(&mkv->dyn_bc); + if (!mkv->dyn_bc) { + ret = avio_open_dyn_buf(&mkv->dyn_bc); + if (ret < 0) + return ret; + } pb = mkv->dyn_bc; }