|
|
@ -1679,11 +1679,12 @@ static int matroska_parse_block(MatroskaDemuxContext *matroska, uint8_t *data, |
|
|
|
size -= n; |
|
|
|
size -= n; |
|
|
|
|
|
|
|
|
|
|
|
track = matroska_find_track_by_num(matroska, num); |
|
|
|
track = matroska_find_track_by_num(matroska, num); |
|
|
|
if (size <= 3 || !track || !track->stream) { |
|
|
|
if (!track || !track->stream) { |
|
|
|
av_log(matroska->ctx, AV_LOG_INFO, |
|
|
|
av_log(matroska->ctx, AV_LOG_INFO, |
|
|
|
"Invalid stream %"PRIu64" or size %u\n", num, size); |
|
|
|
"Invalid stream %"PRIu64" or size %u\n", num, size); |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
} |
|
|
|
} else if (size <= 3) |
|
|
|
|
|
|
|
return 0; |
|
|
|
st = track->stream; |
|
|
|
st = track->stream; |
|
|
|
if (st->discard >= AVDISCARD_ALL) |
|
|
|
if (st->discard >= AVDISCARD_ALL) |
|
|
|
return res; |
|
|
|
return res; |
|
|
|