Browse code

Prevent (negative) overflow of rm->remaining_len. This evaluation really only has two possible outcomes: either len and rm->remaining_len are the same, in which case we care about the outcome and it is zero, or rm->remaining_len is currently not in use and we don't care about the outcome. In that case, len is positive and rm->remaining_len is zero, which leads to a negative result. This is confusing and could eventually lead to a sign-flip if we skip a lot of packets (unlikely, but still). Therefore, just always set it to zero.

Originally committed as revision 17919 to svn://svn.ffmpeg.org/ffmpeg/trunk

Ronald S. Bultje authored on 2009/03/10 07:03:47
Showing 1 changed files
... ...
@@ -468,7 +468,7 @@ static int sync(AVFormatContext *s, int64_t *timestamp, int *flags, int *stream_
468 468
 skip:
469 469
             /* skip packet if unknown number */
470 470
             url_fskip(pb, len);
471
-            rm->remaining_len -= len;
471
+            rm->remaining_len = 0;
472 472
             continue;
473 473
         }
474 474
         *stream_index= i;