From 4142487d1cd8c555e13f156d1cc89f838099db10 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Fri, 15 Apr 2011 19:56:42 -0400 Subject: [PATCH] ac3enc: return error if frame+exponent bits are too large instead of using av_assert2(). This can occur in some very rare cases with low bitrates. --- libavcodec/ac3enc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index 00cb047374..47fd9b6a34 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -1052,7 +1052,8 @@ static int cbr_bit_allocation(AC3EncodeContext *s) int snr_offset, snr_incr; bits_left = 8 * s->frame_size - (s->frame_bits + s->exponent_bits); - av_assert2(bits_left >= 0); + if (bits_left < 0) + return AVERROR(EINVAL); snr_offset = s->coarse_snr_offset << 4;