From 73c44cb2869bfdbea829942eb35efa6d4c4e2f91 Mon Sep 17 00:00:00 2001 From: Alex Converse Date: Sat, 7 Aug 2010 21:30:34 +0000 Subject: oggparsevorbis: Add some sanity checks to header packet ordering/presence. Originally committed as revision 24740 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/oggparsevorbis.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libavformat/oggparsevorbis.c') diff --git a/libavformat/oggparsevorbis.c b/libavformat/oggparsevorbis.c index 886ef522b5..c7f8149a23 100644 --- a/libavformat/oggparsevorbis.c +++ b/libavformat/oggparsevorbis.c @@ -206,6 +206,12 @@ vorbis_header (AVFormatContext * s, int idx) return -1; 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->packet[pkt_type >> 1] = av_mallocz(os->psize); memcpy(priv->packet[pkt_type >> 1], os->buf + os->pstart, os->psize); -- cgit v1.2.3