Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_read_chain):
Error out properly if we get an error from libogg while reading the
BOS page(s). Fixes crash parsing 'fuzzed' ogg file (#399340).
2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
+ * ext/ogg/gstoggdemux.c: (gst_ogg_demux_read_chain):
+ Error out properly if we get an error from libogg while reading the
+ BOS page(s). Fixes crash parsing 'fuzzed' ogg file (#399340).
+
+2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
+
* gst/playback/gstdecodebin2.c: (gst_decode_bin_finalize):
Don't leak mutex.
gint ret;
ret = gst_ogg_demux_get_next_page (ogg, &op, -1);
- if (ret < 0 || !ogg_page_bos (&op))
+ if (ret < 0) {
+ GST_WARNING_OBJECT (ogg, "problem reading BOS page: ret=%d", ret);
+ if (chain) {
+ gst_ogg_chain_free (chain);
+ chain = NULL;
+ }
+ break;
+ }
+
+ if (!ogg_page_bos (&op))
break;
if (chain == NULL) {