1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-24 13:56:33 +02:00

avcodec/cbs_jpeg: Fix size of huffman symbol table array

L[i] can be in the range of 0-255, see table B.5 of ITU T.81.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2022-02-08 09:59:59 +01:00
parent 0dd1ff67c8
commit 321c31cfe6
2 changed files with 3 additions and 3 deletions

View File

@ -99,7 +99,7 @@ typedef struct JPEGRawHuffmanTable {
uint8_t Tc;
uint8_t Th;
uint8_t L[16];
uint8_t V[224];
uint8_t V[256];
} JPEGRawHuffmanTable;
typedef struct JPEGRawHuffmanTableSpecification {

View File

@ -84,12 +84,12 @@ static int FUNC(huffman_table)(CodedBitstreamContext *ctx, RWContext *rw,
u(4, Th, 0, 3);
for (i = 0; i < 16; i++)
us(8, L[i], i, 0, 224);
us(8, L[i], i, 0, 255);
ij = 0;
for (i = 0; i < 16; i++) {
for (j = 0; j < current->L[i]; j++) {
if (ij >= 224)
if (ij >= FF_ARRAY_ELEMS(current->V))
return AVERROR_INVALIDDATA;
us(8, V[ij], ij, 0, 255);
++ij;