diff options
| author | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2004-03-12 22:10:40 +0000 |
|---|---|---|
| committer | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2004-03-12 22:10:40 +0000 |
| commit | aedf4364162e254bb0cca3e573688a8d1a97b2dd (patch) | |
| tree | 59f79084b673caedd2f4abf0db6d9fc29027860c /coreutils | |
| parent | 40f5bf24be0f99292eea000ac30e97b489fc8bce (diff) | |
| download | busybox-w32-aedf4364162e254bb0cca3e573688a8d1a97b2dd.tar.gz busybox-w32-aedf4364162e254bb0cca3e573688a8d1a97b2dd.tar.bz2 busybox-w32-aedf4364162e254bb0cca3e573688a8d1a97b2dd.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
git-svn-id: svn://busybox.net/trunk/busybox@8624 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'coreutils')
| -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); |
