From 6f2245c8fa86d679b30f05c07dd8e3e645004675 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Tue, 3 May 2005 16:44:47 +0000 Subject: [PATCH] Tweaked the checking of the "limit" in safe_fname(). --- util.c | 5 +++-- 1 file 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; } } -- 2.34.1