From 581281e242609a222233a2e5538b89dfb88fb18e Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Fri, 14 Sep 2012 18:39:58 +0200 Subject: matroskadec: check realloc in lzo encoding Make all the compression encodings behave the same way. --- libavformat/matroskadec.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libavformat/matroskadec.c') diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 95130fc4df..bb505c27ab 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -999,7 +999,11 @@ static int matroska_decode_buffer(uint8_t** buf, int* buf_size, case MATROSKA_TRACK_ENCODING_COMP_LZO: do { olen = pkt_size *= 3; - pkt_data = av_realloc(pkt_data, pkt_size+AV_LZO_OUTPUT_PADDING); + newpktdata = av_realloc(pkt_data, pkt_size + AV_LZO_OUTPUT_PADDING); + if (!newpktdata) { + goto failed; + } + pkt_data = newpktdata; result = av_lzo1x_decode(pkt_data, &olen, data, &isize); } while (result==AV_LZO_OUTPUT_FULL && pkt_size<10000000); if (result) -- cgit v1.2.3