diff options
author | Denis Vlasenko | 2008-07-26 19:34:00 +0000 |
---|---|---|
committer | Denis Vlasenko | 2008-07-26 19:34:00 +0000 |
commit | 5e40070d38cf02b96da72db5c6612e8971ef65f0 (patch) | |
tree | 6c5242140719a15c406e4d18888859e01986b3d0 /coreutils/tr.c | |
parent | df96df9c7c78d0f19c8d1ac1aa3d8d80abbe16bb (diff) | |
download | busybox-5e40070d38cf02b96da72db5c6612e8971ef65f0.zip busybox-5e40070d38cf02b96da72db5c6612e8971ef65f0.tar.gz |
tr: fix "access past the end of a string" bug 4354
Diffstat (limited to 'coreutils/tr.c')
-rw-r--r-- | coreutils/tr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/coreutils/tr.c b/coreutils/tr.c index e439fcb..28798fe 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 ']' */ |