Browse Source

hevc: make pps/sps ids unsigned where necessary

Fixes integer overflow and out of array accesses.
Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
tags/n2.3
Vittorio Giovara 11 years ago
parent
commit
4d33873c29
2 changed files with 5 additions and 5 deletions
  1. +1
    -1
      libavcodec/hevc.h
  2. +4
    -4
      libavcodec/hevc_ps.c

+ 1
- 1
libavcodec/hevc.h View File

@@ -463,7 +463,7 @@ typedef struct HEVCSPS {
} HEVCSPS;

typedef struct HEVCPPS {
int sps_id; ///< seq_parameter_set_id
unsigned int sps_id; ///< seq_parameter_set_id

uint8_t sign_data_hiding_flag;



+ 4
- 4
libavcodec/hevc_ps.c View File

@@ -609,8 +609,8 @@ int ff_hevc_decode_nal_sps(HEVCContext *s)
{
const AVPixFmtDescriptor *desc;
GetBitContext *gb = &s->HEVClc.gb;
int ret = 0;
int sps_id = 0;
int ret = 0;
unsigned int sps_id = 0;
int log2_diff_max_min_transform_block_size;
int bit_depth_chroma, start, vui_present, sublayer_ordering_info;
int i;
@@ -988,8 +988,8 @@ int ff_hevc_decode_nal_pps(HEVCContext *s)
int pic_area_in_ctbs, pic_area_in_min_cbs, pic_area_in_min_tbs;
int log2_diff_ctb_min_tb_size;
int i, j, x, y, ctb_addr_rs, tile_id;
int ret = 0;
int pps_id = 0;
int ret = 0;
unsigned int pps_id = 0;

AVBufferRef *pps_buf;
HEVCPPS *pps = av_mallocz(sizeof(*pps));


Loading…
Cancel
Save