avformat/flacdec: Check avio_read result when reading flac block header.

Return AVERROR_INVALIDDATA if all four bytes aren't present.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Frank Liberato 2017-01-24 10:58:17 -08:00 committed by Michael Niedermayer
parent f227fc4c2a
commit 95bde49982
1 changed files with 2 additions and 1 deletions

View File

@ -65,7 +65,8 @@ static int flac_read_header(AVFormatContext *s)
/* process metadata blocks */ /* process metadata blocks */
while (!avio_feof(s->pb) && !metadata_last) { while (!avio_feof(s->pb) && !metadata_last) {
avio_read(s->pb, header, 4); if (avio_read(s->pb, header, 4) != 4)
return AVERROR(AVERROR_INVALIDDATA);
flac_parse_block_header(header, &metadata_last, &metadata_type, flac_parse_block_header(header, &metadata_last, &metadata_type,
&metadata_size); &metadata_size);
switch (metadata_type) { switch (metadata_type) {