summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--gst/qtdemux/qtdemux.c7
2 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 73154923..7c5ce4af 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-02-17 Edward Hervey <edward@fluendo.com>
+
+ * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_state_header):
+ Check that the size of the returned buffer is of the correct size
+ because the parser assumes that.
+ Fixes #331543.
+
2006-02-17 Jan Schmidt <thaytan@mad.scientist.com>
* configure.ac:
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c
index e15de786..fca86a34 100644
--- a/gst/qtdemux/qtdemux.c
+++ b/gst/qtdemux/qtdemux.c
@@ -589,6 +589,13 @@ gst_qtdemux_loop_state_header (GstQTDemux * qtdemux)
ret = gst_pad_pull_range (qtdemux->sinkpad, cur_offset, length, &moov);
if (ret != GST_FLOW_OK)
goto beach;
+ if (length != GST_BUFFER_SIZE (moov)) {
+ GST_WARNING_OBJECT (qtdemux,
+ "We got less than expected (received %d, wanted %d)",
+ GST_BUFFER_SIZE (moov), length);
+ ret = GST_FLOW_ERROR;
+ goto beach;
+ }
cur_offset += length;
qtdemux->offset += length;