aboutsummaryrefslogtreecommitdiffstats
path: root/util.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2005-05-03 16:44:47 +0000
committerWayne Davison <wayned@samba.org>2005-05-03 16:44:47 +0000
commit6f2245c8fa86d679b30f05c07dd8e3e645004675 (patch)
tree87b12e6b512b72a95ff106d937596ddd2edf089f /util.c
parent0f9941dc5a0fb7af60446d639d2444459250fc2d (diff)
downloadandroid_external_rsync-6f2245c8fa86d679b30f05c07dd8e3e645004675.tar.gz
android_external_rsync-6f2245c8fa86d679b30f05c07dd8e3e645004675.tar.bz2
android_external_rsync-6f2245c8fa86d679b30f05c07dd8e3e645004675.zip
Tweaked the checking of the "limit" in safe_fname().
Diffstat (limited to 'util.c')
-rw-r--r--util.c5
1 files changed, 3 insertions, 2 deletions
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;
}
}