lavc/vvc: Increase IntraEdgeParams buffer size

The reference line buffers are used with indices in the range
-MAX_TB_SIZE - 3 to refw + FFMAX(1, w/h) * ref_idx + 1, which is
at most 5*MAX_TB_SIZE + 1.

Fixes buffer overflows.
http://fate.ffmpeg.org/report.cgi?slot=armv7-linux-gcc-9&time=20240124051736

Signed-off-by: James Almer <jamrial@gmail.com>
release/7.0
Frank Plowman 1 year ago committed by James Almer
parent 887a7817b6
commit 85e031d5bf
  1. 8
      libavcodec/vvc/vvcdsp.c

@ -87,10 +87,10 @@ typedef struct IntraEdgeParams {
uint8_t* left;
int filter_flag;
uint16_t left_array[3 * MAX_TB_SIZE + 3];
uint16_t filtered_left_array[3 * MAX_TB_SIZE + 3];
uint16_t top_array[3 * MAX_TB_SIZE + 3];
uint16_t filtered_top_array[3 * MAX_TB_SIZE + 3];
uint16_t left_array[6 * MAX_TB_SIZE + 5];
uint16_t filtered_left_array[6 * MAX_TB_SIZE + 5];
uint16_t top_array[6 * MAX_TB_SIZE + 5];
uint16_t filtered_top_array[6 * MAX_TB_SIZE + 5];
} IntraEdgeParams;
#define PROF_BORDER_EXT 1

Loading…
Cancel
Save