|
|
|
@@ -839,7 +839,7 @@ static int iff_read_packet(AVFormatContext *s, |
|
|
|
} else if (st->codecpar->codec_tag == ID_DST) { |
|
|
|
return read_dst_frame(s, pkt); |
|
|
|
} else { |
|
|
|
if (iff->body_size > INT_MAX) |
|
|
|
if (iff->body_size > INT_MAX || !iff->body_size) |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
ret = av_get_packet(pb, pkt, iff->body_size); |
|
|
|
} |
|
|
|
@@ -875,6 +875,8 @@ static int iff_read_packet(AVFormatContext *s, |
|
|
|
pkt->flags |= AV_PKT_FLAG_KEY; |
|
|
|
} else if (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO && |
|
|
|
st->codecpar->codec_tag != ID_ANIM) { |
|
|
|
if (iff->body_size > INT_MAX || !iff->body_size) |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
ret = av_get_packet(pb, pkt, iff->body_size); |
|
|
|
pkt->pos = pos; |
|
|
|
if (pos == iff->body_pos) |
|
|
|
|