From b37e796082b2d787aff3cd5631bb89c4fd374708 Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Sat, 11 Jan 2014 03:20:45 +0100 Subject: [PATCH] hevc: Use uint64 to check for tile dimensions And use unsigned datatypes. Otherwise it would overflow. Sample-Id: 00001315-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org --- libavcodec/hevc.h | 8 ++++---- libavcodec/hevc_ps.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libavcodec/hevc.h b/libavcodec/hevc.h index f623887c6e..6c99d9bc5c 100644 --- a/libavcodec/hevc.h +++ b/libavcodec/hevc.h @@ -513,10 +513,10 @@ typedef struct HEVCPPS { uint8_t slice_header_extension_present_flag; // Inferred parameters - int *column_width; ///< ColumnWidth - int *row_height; ///< RowHeight - int *col_bd; ///< ColBd - int *row_bd; ///< RowBd + unsigned int *column_width; ///< ColumnWidth + unsigned int *row_height; ///< RowHeight + unsigned int *col_bd; ///< ColBd + unsigned int *row_bd; ///< RowBd int *col_idxX; int *ctb_addr_rs_to_ts; ///< CtbAddrRSToTS diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c index 1ce8d2ebcb..829294fc9c 100644 --- a/libavcodec/hevc_ps.c +++ b/libavcodec/hevc_ps.c @@ -1106,7 +1106,7 @@ int ff_hevc_decode_nal_pps(HEVCContext *s) pps->uniform_spacing_flag = get_bits1(gb); if (!pps->uniform_spacing_flag) { - int sum = 0; + uint64_t sum = 0; for (i = 0; i < pps->num_tile_columns - 1; i++) { pps->column_width[i] = get_ue_golomb_long(gb) + 1; sum += pps->column_width[i];