diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-05-12 18:32:12 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-05-12 18:34:26 +0200 |
commit | 171af59d58fc67d82dce8ff7ed11fa671108baa5 (patch) | |
tree | cad06f2993e9b2d593c14c68e2c64e2871c2a058 /libavformat/matroskadec.c | |
parent | 56abf35151c635caa3eb04bbb90454bae5463a09 (diff) | |
download | ffmpeg-171af59d58fc67d82dce8ff7ed11fa671108baa5.tar.gz |
avformat/matroskadec: Cleanup error handling for bz2 & zlib
Fixes CID703652
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/matroskadec.c')
-rw-r--r-- | libavformat/matroskadec.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 1b738dd7af..6141d38c95 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -1282,15 +1282,13 @@ static int matroska_decode_buffer(uint8_t **buf, int *buf_size, newpktdata = av_realloc(pkt_data, pkt_size); if (!newpktdata) { inflateEnd(&zstream); + result = AVERROR(ENOMEM); goto failed; } pkt_data = newpktdata; zstream.avail_out = pkt_size - zstream.total_out; zstream.next_out = pkt_data + zstream.total_out; - if (pkt_data) { - result = inflate(&zstream, Z_NO_FLUSH); - } else - result = Z_MEM_ERROR; + result = inflate(&zstream, Z_NO_FLUSH); } while (result == Z_OK && pkt_size < 10000000); pkt_size = zstream.total_out; inflateEnd(&zstream); @@ -1317,15 +1315,13 @@ static int matroska_decode_buffer(uint8_t **buf, int *buf_size, newpktdata = av_realloc(pkt_data, pkt_size); if (!newpktdata) { BZ2_bzDecompressEnd(&bzstream); + result = AVERROR(ENOMEM); goto failed; } pkt_data = newpktdata; bzstream.avail_out = pkt_size - bzstream.total_out_lo32; bzstream.next_out = pkt_data + bzstream.total_out_lo32; - if (pkt_data) { - result = BZ2_bzDecompress(&bzstream); - } else - result = BZ_MEM_ERROR; + result = BZ2_bzDecompress(&bzstream); } while (result == BZ_OK && pkt_size < 10000000); pkt_size = bzstream.total_out_lo32; BZ2_bzDecompressEnd(&bzstream); |