# HG changeset patch # User alexc # Date 1281216634 0 # Node ID 05a6d7c6813ee8c04238a8dc935d04d2dd44fb97 # Parent aea92c85d6114102d339e1361cc6d46f937b7abf oggparsevorbis: Add some sanity checks to header packet ordering/presence. diff -r aea92c85d611 -r 05a6d7c6813e oggparsevorbis.c --- a/oggparsevorbis.c Sat Aug 07 14:11:43 2010 +0000 +++ b/oggparsevorbis.c Sat Aug 07 21:30:34 2010 +0000 @@ -206,6 +206,12 @@ 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);