On 12/25/23 15:09, Michael Niedermayer wrote:
On Mon, Dec 25, 2023 at 12:04:17PM -0500, Leo Izen wrote:
The specification doesn't mention that clusters cannot have alphabet
sizes greater than 1 << bundle->log_alphabet_size, but the reference
implementation rejects these entropy streams as invalid, so we should
too. Refusing to do so can overflow a stack variable on line 556 that
should be large enough otherwise.

Fixes #10738.

Found-by: Zeng Yunxiang and Li Zeyuan
Signed-off-by: Leo Izen <leo.i...@gmail.com>
---
  libavcodec/jpegxl_parser.c | 28 +++++++++++++++++++---------
  1 file changed, 19 insertions(+), 9 deletions(-)

diff --git a/libavcodec/jpegxl_parser.c b/libavcodec/jpegxl_parser.c
index 006eb6b295..f026fda9ac 100644
--- a/libavcodec/jpegxl_parser.c
+++ b/libavcodec/jpegxl_parser.c
@@ -64,26 +64,26 @@ typedef struct JXLSymbolDistribution {
      int log_bucket_size;
      /* this is the actual size of the alphabet */
      int alphabet_size;
-    /* ceil(log(alphabet_size)) */
-    int log_alphabet_size;
/* for prefix code distributions */
      VLC vlc;
      /* in case bits == 0 */
      uint32_t default_symbol;
+    /* ceil(log(alphabet_size)) */
+    int log_alphabet_size;

that seems unneeded


dist->log_alphaebet_size is only used for prefix code distributions so I moved it for clarity. I can also remove this change from this commit if you think it's off-topic.

In either case, is the commit okay, apart from this one change? If so I'm going to merge it (after I remove this one change from the diff).

- Leo Izen (Traneptora)

_______________________________________________
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