Some calls to get_escaped_value() specify 0 bits as the third value.
This would result in get_bits(0), which is not a correct usage of the
get_bits API.
---
 libavcodec/aac/aacdec_usac.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/aac/aacdec_usac.c b/libavcodec/aac/aacdec_usac.c
index 00ec74718b..d98c014cf8 100644
--- a/libavcodec/aac/aacdec_usac.c
+++ b/libavcodec/aac/aacdec_usac.c
@@ -38,7 +38,7 @@ static inline uint32_t get_escaped_value(GetBitContext *gb, 
int nb1, int nb2, in
         return val;
 
     val += val2 = get_bits(gb, nb2);
-    if (val2 == ((1 << nb2) - 1))
+    if (nb3 && (val2 == ((1 << nb2) - 1)))
         val += get_bits(gb, nb3);
 
     return val;
-- 
2.43.0.381.gb435a96ce8
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to