oggparsevorbis: Add some sanity checks to header packet ordering/presence.

Originally committed as revision 24740 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Alex Converse 2010-08-07 21:30:34 +00:00
parent 2d7b5f091d
commit 73c44cb286

View File

@ -206,6 +206,12 @@ vorbis_header (AVFormatContext * s, int idx)
return -1; return -1;
priv = os->private; priv = os->private;
if (priv->packet[pkt_type>>1])
return -1;
if (pkt_type > 1 && !priv->packet[0] || pkt_type > 3 && !priv->packet[1])
return -1;
priv->len[pkt_type >> 1] = os->psize; priv->len[pkt_type >> 1] = os->psize;
priv->packet[pkt_type >> 1] = av_mallocz(os->psize); priv->packet[pkt_type >> 1] = av_mallocz(os->psize);
memcpy(priv->packet[pkt_type >> 1], os->buf + os->pstart, os->psize); memcpy(priv->packet[pkt_type >> 1], os->buf + os->pstart, os->psize);