ext/ogg/gstoggdemux.c: Error out properly if we get an error from libogg while reading the

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).
This commit is contained in:
Tim-Philipp Müller 2007-01-23 18:39:45 +00:00
parent b8d04c8843
commit c135f896e5
2 changed files with 16 additions and 1 deletions

View file

@ -1,3 +1,9 @@
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):

View file

@ -2269,7 +2269,16 @@ gst_ogg_demux_read_chain (GstOggDemux * ogg)
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) {