atrac3: fix error handling
authorLuca Barbato <lu_zero@gentoo.org>
Mon, 8 Jul 2013 23:03:13 +0000 (01:03 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 10 Jul 2013 00:15:43 +0000 (02:15 +0200)
decode_tonal_components returns a proper AVERROR.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/atrac3.c

index 18957cb..0b56352 100644 (file)
@@ -665,8 +665,8 @@ static int decode_channel_sound_unit(ATRAC3Context *q, GetBitContext *gb,
 
     snd->num_components = decode_tonal_components(gb, snd->components,
                                                   snd->bands_coded);
-    if (snd->num_components == -1)
-        return -1;
+    if (snd->num_components < 0)
+        return snd->num_components;
 
     num_subbands = decode_spectrum(gb, snd->spectrum);