avformat/oggparsevorbis: Check that initialization succeeded before declaring the end of headers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-11-06 12:58:04 +01:00
parent 4b2763cd13
commit c04c43b3e4

View File

@ -304,14 +304,14 @@ static int vorbis_header(AVFormatContext *s, int idx)
return AVERROR(ENOMEM);
}
priv = os->private;
if (!(pkt_type & 1))
return 0;
return priv->vp ? 0 : AVERROR_INVALIDDATA;
if (os->psize < 1 || pkt_type > 5)
return AVERROR_INVALIDDATA;
priv = os->private;
if (priv->packet[pkt_type >> 1])
return AVERROR_INVALIDDATA;
if (pkt_type > 1 && !priv->packet[0] || pkt_type > 3 && !priv->packet[1])