changeset 4688:0905585d48fd libavformat

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.
author rbultje
date Mon, 09 Mar 2009 13:08:19 +0000
parents 0ff86cd08b4a
children fc0a165de804
files rmdec.c
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/rmdec.c	Mon Mar 09 12:46:32 2009 +0000
+++ b/rmdec.c	Mon Mar 09 13:08:19 2009 +0000
@@ -468,7 +468,7 @@
 skip:
             /* skip packet if unknown number */
             url_fskip(pb, len);
-            rm->remaining_len -= len;
+            rm->remaining_len = 0;
             continue;
         }
         *stream_index= i;