aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-07-26 19:34:00 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-07-26 19:34:00 +0000
commit5e40070d38cf02b96da72db5c6612e8971ef65f0 (patch)
tree6c5242140719a15c406e4d18888859e01986b3d0
parentdf96df9c7c78d0f19c8d1ac1aa3d8d80abbe16bb (diff)
downloadbusybox-5e40070d38cf02b96da72db5c6612e8971ef65f0.tar.gz
tr: fix "access past the end of a string" bug 4354
-rw-r--r--coreutils/tr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/coreutils/tr.c b/coreutils/tr.c
index e439fcb5b..28798fe4f 100644
--- a/coreutils/tr.c
+++ b/coreutils/tr.c
@@ -138,7 +138,7 @@ static unsigned int expand(const char *arg, char *buffer)
arg += 3; /* skip CHAR=] */
continue;
}
- if (*arg != '-') { /* not [x-...] - copy verbatim */
+ if (i == '\0' || *arg != '-') { /* not [x-...] - copy verbatim */
*buffer++ = '[';
arg--; /* points to x */
continue; /* copy all, including eventual ']' */