From: Wayne Davison Date: Tue, 3 May 2005 16:44:47 +0000 (+0000) Subject: Tweaked the checking of the "limit" in safe_fname(). X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/6f2245c8fa86d679b30f05c07dd8e3e645004675 Tweaked the checking of the "limit" in safe_fname(). --- diff --git a/util.c b/util.c index cde75717..6cbe7e1c 100644 --- a/util.c +++ b/util.c @@ -892,7 +892,7 @@ char *safe_fname(const char *fname) char *t; ndx = (ndx + 1) % MAX_SAFE_NAMES; - for (t = fbuf[ndx]; *fname && limit; fname++) { + for (t = fbuf[ndx]; *fname; fname++) { if (*fname == '\\') { if ((limit -= 2) < 0) break; @@ -904,7 +904,8 @@ char *safe_fname(const char *fname) sprintf(t, "\\%03o", *(uchar*)fname); t += 4; } else { - limit--; + if (--limit < 0) + break; *t++ = *fname; } }