diff options
author | Eric Andersen <andersen@codepoet.org> | 2004-03-12 22:10:40 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2004-03-12 22:10:40 +0000 |
commit | ed43806c3b3394ea4ee94c5c9ab042d0aa51f033 (patch) | |
tree | 59f79084b673caedd2f4abf0db6d9fc29027860c /coreutils/tr.c | |
parent | d20d37559f6a3e9abd8694d4a7375467e39eeb5e (diff) | |
download | busybox-w32-ed43806c3b3394ea4ee94c5c9ab042d0aa51f033.tar.gz busybox-w32-ed43806c3b3394ea4ee94c5c9ab042d0aa51f033.tar.bz2 busybox-w32-ed43806c3b3394ea4ee94c5c9ab042d0aa51f033.zip |
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
Diffstat (limited to 'coreutils/tr.c')
-rw-r--r-- | coreutils/tr.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/coreutils/tr.c b/coreutils/tr.c index 4e69dc89c..958fc80b8 100644 --- a/coreutils/tr.c +++ b/coreutils/tr.c | |||
@@ -202,9 +202,9 @@ extern int tr_main(int argc, char **argv) | |||
202 | map(input, input_length, output, output_length); | 202 | map(input, input_length, output, output_length); |
203 | } | 203 | } |
204 | for (i = 0; i < input_length; i++) | 204 | for (i = 0; i < input_length; i++) |
205 | invec[(int)input[i]] = TRUE; | 205 | invec[(unsigned char)input[i]] = TRUE; |
206 | for (i = 0; i < output_length; i++) | 206 | for (i = 0; i < output_length; i++) |
207 | outvec[(int)output[i]] = TRUE; | 207 | outvec[(unsigned char)output[i]] = TRUE; |
208 | } | 208 | } |
209 | convert(); | 209 | convert(); |
210 | return (0); | 210 | return (0); |