diff --git a/ChangeLog b/ChangeLog index 2991b51a08..0973ad8a30 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-06-13 Tim-Philipp Müller + + * gst/avi/gstavidemux.c: (gst_avi_demux_handle_seek): + Prevent out of bounds array access when scrubbing towards + the end of the file between the last index entry and the + end. Fixes occasional 'start <= stop' newsegment event + assertions when scrubbing in MJPEG files. + 2006-06-12 Tim-Philipp Müller * tests/check/elements/.cvsignore: diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c index 5d26eac9e6..392ce79d0d 100644 --- a/gst/avi/gstavidemux.c +++ b/gst/avi/gstavidemux.c @@ -2372,6 +2372,8 @@ gst_avi_demux_handle_seek (GstAviDemux * avi, gboolean update) GST_WARNING_OBJECT (avi, "Couldn't find AviIndexEntry for time:%" GST_TIME_FORMAT, GST_TIME_ARGS (avi->segment.start)); + if (avi->current_entry >= avi->index_size && avi->index_size > 0) + avi->current_entry = avi->index_size - 1; } }