Fixed an overflow check.
[rsync/rsync-patches.git] / filter.diff
index 60a5c77..fa9061c 100644 (file)
@@ -89,7 +89,7 @@ that's how you can make rules local instead of inherited).
        log_init();
  
 --- orig/exclude.c     2004-08-10 18:17:01
-+++ exclude.c  2004-08-10 18:16:41
++++ exclude.c  2004-08-11 17:26:00
 @@ -30,13 +30,68 @@ extern int verbose;
  extern int eol_nulls;
  extern int list_only;
@@ -369,8 +369,8 @@ that's how you can make rules local instead of inherited).
 +              memcpy(dirbuf, curr_dir, curr_dir_len);
 +              dirbuf[curr_dir_len] = '/';
 +              len = curr_dir_len + 1;
-+              if (dirlen >= MAXPATHLEN - len)
-+                      dirlen = MAXPATHLEN - len - 1;
++              if (len + dirlen >= MAXPATHLEN)
++                      dirlen = 0;
 +      } else
 +              len = 0;
 +      memcpy(dirbuf + len, dir, dirlen);