From 5e40070d38cf02b96da72db5c6612e8971ef65f0 Mon Sep 17 00:00:00 2001
From: Denis Vlasenko <vda.linux@googlemail.com>
Date: Sat, 26 Jul 2008 19:34:00 +0000
Subject: [PATCH] tr: fix "access past the end of a string" bug 4354

---
 coreutils/tr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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 ']' */