diff --git a/ChangeLog b/ChangeLog index bb82b6a2c0..3641593366 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-12-03 Wim Taymans + + * ext/ogg/gstoggdemux.c: (gst_ogg_demux_bisect_forward_serialno), + (gst_ogg_demux_read_chain): + If we find a new serial number but it does not contain a BOS page, make + sure we initialize the chain to NULL because else we will try to scan it + and crash. Fixes #500763 + 2007-11-30 Wim Taymans * gst/playback/Makefile.am: diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c index 5a6ca2b034..0cba0a5823 100644 --- a/ext/ogg/gstoggdemux.c +++ b/ext/ogg/gstoggdemux.c @@ -2295,6 +2295,8 @@ gst_ogg_demux_bisect_forward_serialno (GstOggDemux * ogg, if (ret != GST_FLOW_OK) goto done; } + GST_LOG_OBJECT (ogg, "adding chain %p", chain); + g_array_insert_val (ogg->chains, 0, chain); done: @@ -2363,6 +2365,8 @@ gst_ogg_demux_read_chain (GstOggDemux * ogg, GstOggChain ** res_chain) if (chain) { gst_ogg_chain_free (chain); } + if (res_chain) + *res_chain = NULL; return ret; }