summaryrefslogtreecommitdiff
path: root/methods/rred.cc
diff options
context:
space:
mode:
Diffstat (limited to 'methods/rred.cc')
-rw-r--r--methods/rred.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/methods/rred.cc b/methods/rred.cc
index 85ec30bd5..e568c75b2 100644
--- a/methods/rred.cc
+++ b/methods/rred.cc
@@ -491,7 +491,11 @@ class Patch {
for (ch = filechanges.rbegin(); ch != filechanges.rend(); ++ch) {
std::list<struct Change>::reverse_iterator mg_i, mg_e = ch;
while (ch->del_cnt == 0 && ch->offset == 0)
+ {
++ch;
+ if (unlikely(ch == filechanges.rend()))
+ return;
+ }
line -= ch->del_cnt;
std::string buf;
if (ch->add_cnt > 0) {