[FFmpeg-devel] [PATCH 1/4] aacdec_usac: prevent get_bits(0) in get_escaped_value

Lynne dev at lynne.ee
Mon Jun 3 00:54:26 EEST 2024


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


More information about the ffmpeg-devel mailing list