diff options
| author | Wayne Davison <wayned@samba.org> | 2005-05-03 16:44:47 +0000 |
|---|---|---|
| committer | Wayne Davison <wayned@samba.org> | 2005-05-03 16:44:47 +0000 |
| commit | 6f2245c8fa86d679b30f05c07dd8e3e645004675 (patch) | |
| tree | 87b12e6b512b72a95ff106d937596ddd2edf089f /util.c | |
| parent | 0f9941dc5a0fb7af60446d639d2444459250fc2d (diff) | |
| download | android_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.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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; } } |
