Browse Source

exr: make sure that data_size is not bigger than expected

Signed-off-by: Paul B Mahol <onemda@gmail.com>
tags/n1.2
Paul B Mahol 12 years ago
parent
commit
7b12554c5a
1 changed files with 2 additions and 1 deletions
  1. +2
    -1
      libavcodec/exr.c

+ 2
- 1
libavcodec/exr.c View File

@@ -270,7 +270,8 @@ static int decode_block(AVCodecContext *avctx, void *tdata,
uncompressed_size = s->scan_line_size * FFMIN(s->scan_lines_per_block, s->ymax - line + 1);
if ((s->compr == EXR_RAW && (data_size != uncompressed_size ||
line_offset > buf_size - uncompressed_size)) ||
(s->compr != EXR_RAW && line_offset > buf_size - data_size)) {
(s->compr != EXR_RAW && (data_size > uncompressed_size ||
line_offset > buf_size - data_size))) {
return AVERROR_INVALIDDATA;
}



Loading…
Cancel
Save