summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2003-07-24 08:49:42 +0000
committerDavid Schleef <ds@schleef.org>2003-07-24 08:49:42 +0000
commit322baf19c80857f1f2b016ec6bf043d09c67d154 (patch)
tree188aeeb96adf54022f3884d9e3a731765e7bd70e /gst
parent7bea2b377a4bb138b26ef7b07a466380ae7e13b0 (diff)
Add buffer length checks to every typefinding function
Original commit message from CVS: Add buffer length checks to every typefinding function
Diffstat (limited to 'gst')
-rw-r--r--gst/auparse/gstauparse.c3
-rw-r--r--gst/avi/gstavidemux.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/gst/auparse/gstauparse.c b/gst/auparse/gstauparse.c
index 82f802f1..9942fd7b 100644
--- a/gst/auparse/gstauparse.c
+++ b/gst/auparse/gstauparse.c
@@ -47,6 +47,9 @@ au_type_find (GstBuffer *buf, gpointer private)
GstCaps *new = NULL;
gulong *head = (gulong *) GST_BUFFER_DATA (buf);
+ if (GST_BUFFER_SIZE (buf) < 4)
+ return NULL;
+
if (*head == 0x2e736e64 || *head == 0x646e732e)
new = gst_caps_new ("au_type_find", "audio/au", NULL);
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index 8beea334..bb2abe5e 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -181,6 +181,9 @@ avi_type_find (GstBuffer *buf,
GST_DEBUG ("avi_demux: typefind");
+ if (GST_BUFFER_SIZE (buf) < 12)
+ return NULL;
+
if (GUINT32_FROM_LE (((guint32 *)data)[0]) != GST_RIFF_TAG_RIFF)
return NULL;
if (GUINT32_FROM_LE (((guint32 *)data)[2]) != GST_RIFF_RIFF_AVI)