]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/aacdec_template: Check decode_extension_payload() for failure
authorMichael Niedermayer <michael@niedermayer.cc>
Fri, 27 Sep 2019 10:12:22 +0000 (12:12 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Wed, 16 Oct 2019 17:17:57 +0000 (19:17 +0200)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/aacdec_template.c

index 8726c8b828848c573d7c1327e02183a1c6e4e211..2faac61a6dbc9c4499b7ac2daccf05c296335b04 100644 (file)
@@ -3246,9 +3246,15 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
                     err = AVERROR_INVALIDDATA;
                     goto fail;
             }
-            while (elem_id > 0)
-                elem_id -= decode_extension_payload(ac, gb, elem_id, che_prev, che_prev_type);
-            err = 0; /* FIXME */
+            err = 0;
+            while (elem_id > 0) {
+                int ret = decode_extension_payload(ac, gb, elem_id, che_prev, che_prev_type);
+                if (ret < 0) {
+                    err = ret;
+                    break;
+                }
+                elem_id -= ret;
+            }
             break;
 
         default: