ffmpeg | branch: master | Michael Niedermayer <[email protected]> | Thu 
Oct  5 18:14:56 2023 +0200| [75eb698bdce2c1c3649ee2e99b27103fa95898fd] | 
committer: Michael Niedermayer

avcodec/cbs_h2645: Fix showing bits at the end in cbs_read_ue_golomb()

Fixes: Assertion n>0 && n<=25 failed at libavcodec/get_bits.h:375
Fixes: 
62617/clusterfuzz-testcase-minimized-ffmpeg_BSF_TRACE_HEADERS_fuzzer-5156555663998976

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <[email protected]>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=75eb698bdce2c1c3649ee2e99b27103fa95898fd
---

 libavcodec/cbs_h2645.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/cbs_h2645.c b/libavcodec/cbs_h2645.c
index 615a7cf5ec..adf9c16fdf 100644
--- a/libavcodec/cbs_h2645.c
+++ b/libavcodec/cbs_h2645.c
@@ -44,7 +44,7 @@ static int cbs_read_ue_golomb(CodedBitstreamContext *ctx, 
GetBitContext *gbc,
 
     max_length = FFMIN(get_bits_left(gbc), 32);
 
-    leading_bits = show_bits_long(gbc, max_length);
+    leading_bits = max_length ? show_bits_long(gbc, max_length) : 0;
     if (leading_bits == 0) {
         if (max_length >= 32) {
             av_log(ctx->log_ctx, AV_LOG_ERROR, "Invalid ue-golomb code at "

_______________________________________________
ffmpeg-cvslog mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to