summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen2004-03-12 22:10:40 +0000
committerEric Andersen2004-03-12 22:10:40 +0000
commited43806c3b3394ea4ee94c5c9ab042d0aa51f033 (patch)
tree59f79084b673caedd2f4abf0db6d9fc29027860c
parentd20d37559f6a3e9abd8694d4a7375467e39eeb5e (diff)
downloadbusybox-ed43806c3b3394ea4ee94c5c9ab042d0aa51f033.zip
busybox-ed43806c3b3394ea4ee94c5c9ab042d0aa51f033.tar.gz
Hideki IWAMOTO writes:
Current `tr' implementation has a problem, if `plain char' is signed. [current cvs version] >echo a | _install/usr/bin/tr '\0' '\377' Segmentation fault (core dumped) [patched version] >echo a | _install/usr/bin/tr '\0' '\377' a
-rw-r--r--coreutils/tr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/coreutils/tr.c b/coreutils/tr.c
index 4e69dc8..958fc80 100644
--- a/coreutils/tr.c
+++ b/coreutils/tr.c
@@ -202,9 +202,9 @@ extern int tr_main(int argc, char **argv)
map(input, input_length, output, output_length);
}
for (i = 0; i < input_length; i++)
- invec[(int)input[i]] = TRUE;
+ invec[(unsigned char)input[i]] = TRUE;
for (i = 0; i < output_length; i++)
- outvec[(int)output[i]] = TRUE;
+ outvec[(unsigned char)output[i]] = TRUE;
}
convert();
return (0);