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 17910 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Ronald S. Bultje 16 years ago
parent 21b3752932
commit 0ecf9cc900
  1. 2
      libavformat/rmdec.c

@ -468,7 +468,7 @@ static int sync(AVFormatContext *s, int64_t *timestamp, int *flags, int *stream_
skip:
/* skip packet if unknown number */
url_fskip(pb, len);
rm->remaining_len -= len;
rm->remaining_len = 0;
continue;
}
*stream_index= i;

Loading…
Cancel
Save