basesrc: mind boggling wrap when comparing offsets
authorMark Nauwelaerts <mnauw@users.sourceforge.net>
Sat, 2 Nov 2013 14:42:07 +0000 (15:42 +0100)
committerMark Nauwelaerts <mnauw@users.sourceforge.net>
Sat, 2 Nov 2013 15:13:27 +0000 (16:13 +0100)
libs/gst/base/gstbasesrc.c

index 10f4b5b..10b5a35 100644 (file)
@@ -2292,8 +2292,8 @@ gst_base_src_update_length (GstBaseSrc * src, guint64 offset, guint * length,
   /* check size if we have one */
   if (maxsize != -1) {
     /* if we run past the end, check if the file became bigger and
-     * retry. */
-    if (G_UNLIKELY (offset + *length >= maxsize || force)) {
+     * retry.  Mind wrap when checking. */
+    if (G_UNLIKELY (offset >= maxsize || offset + *length >= maxsize || force)) {
       /* see if length of the file changed */
       if (bclass->get_size)
         if (!bclass->get_size (src, &size))