diff --git a/ChangeLog b/ChangeLog index 0bda3ac5ea..2d8cb62c75 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-04-02 Wim Taymans + + Patch by: Victor STINNER + + * ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain), + (gst_ogg_demux_read_chain): + When we fail to find a BOS page and we and up with no chain, error out + properly instead of segfaulting. Fixes #525665. + 2008-04-02 Wim Taymans * ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain), diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c index bfaba2d628..4b38965cbc 100644 --- a/ext/ogg/gstoggdemux.c +++ b/ext/ogg/gstoggdemux.c @@ -2357,7 +2357,10 @@ gst_ogg_demux_read_chain (GstOggDemux * ogg, GstOggChain ** res_chain) } if (ret != GST_FLOW_OK || chain == NULL) { - if (ret != GST_FLOW_UNEXPECTED) { + if (chain == NULL) { + GST_WARNING_OBJECT (ogg, "no chain was found"); + ret = GST_FLOW_ERROR; + } else if (ret != GST_FLOW_UNEXPECTED) { GST_WARNING_OBJECT (ogg, "failed to read chain"); } else { GST_DEBUG_OBJECT (ogg, "done reading chains");