From 09a098fb8bc7d70a0258b3e8d658833c8d11debe Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Tue, 9 Jul 2013 01:03:13 +0200 Subject: [PATCH] atrac3: fix error handling decode_tonal_components returns a proper AVERROR. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org (cherry picked from commit 874c8a17ac9b04fb7ac23d003e54e3662dd23b4e) Signed-off-by: Luca Barbato Conflicts: libavcodec/atrac3.c --- libavcodec/atrac3.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/atrac3.c b/libavcodec/atrac3.c index 40a44c706a..e0702a9a66 100644 --- a/libavcodec/atrac3.c +++ b/libavcodec/atrac3.c @@ -690,7 +690,8 @@ static int decodeChannelSoundUnit (ATRAC3Context *q, GetBitContext *gb, channel_ if (result) return result; pSnd->numComponents = decodeTonalComponents (gb, pSnd->components, pSnd->bandsCoded); - if (pSnd->numComponents == -1) return -1; + if (pSnd->numComponents < 0) + return pSnd->numComponents; numSubbands = decodeSpectrum (gb, pSnd->spectrum);