On Thu, Oct 12, 2006 at 02:14:20PM -0400, Ben Anderson wrote: > I'm wondering if my exclude rule (excluding a file name which is > longer than MAXPATHLEN) is not being "consumed" properly
Yes, you've nailed down the problem nicely. It looks like we can just move the line that bumps the pattern pointer up to a spot right above the length check, and the loop will be fixed. It also looks like we need to have the rprintf() truncate the name (since cp doesn't come back '\0' terminated): while (1) { /* Remember that the returned string is NOT '\0' terminated! */ cp = parse_rule_tok(pattern, mflags, xflags, &pat_len, &new_mflags); if (!cp) break; pattern = cp + pat_len; if (pat_len >= MAXPATHLEN) { rprintf(FERROR, "discarding over-long filter: %.*s\n", pat_len, cp); continue; } ..wayne.. -- To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html