ext/ogg/gstoggdemux.c: Another from MikeS:

Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (ogg_find_peek):
Another from MikeS:
During typefinding, don't support negative offsets
(offsets from the end of the stream) in our typefind->peek() function
- nothing embedded in ogg ever needs them. However, we need to recognise
those requests and reject them, otherwise we return invalid pointers.
This commit is contained in:
Jan Schmidt 2005-08-26 11:39:01 +00:00
parent 538eabd559
commit ee2bc937be
2 changed files with 12 additions and 1 deletions

View file

@ -1,3 +1,12 @@
2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
* ext/ogg/gstoggdemux.c: (ogg_find_peek):
Another from MikeS:
During typefinding, don't support negative offsets
(offsets from the end of the stream) in our typefind->peek() function
- nothing embedded in ogg ever needs them. However, we need to recognise
those requests and reject them, otherwise we return invalid pointers.
2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose):

View file

@ -2396,7 +2396,9 @@ ogg_find_peek (gpointer data, gint64 offset, guint size)
{
OggTypeFind *find = (OggTypeFind *) data;
if (offset + size <= find->packet->bytes) {
/* We don't support negative offset (from stream end); nothing embedded in ogg
* ever needs them */
if (offset >= 0 && offset + size <= find->packet->bytes) {
return ((guint8 *) find->packet->packet) + offset;
} else {
return NULL;