[BusyBox] [PATCH] tr Segmentation fault
Hideki IWAMOTO
h-iwamoto at kit.hi-ho.ne.jp
Fri Mar 12 18:13:36 UTC 2004
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
Index: coreutils/tr.c
===================================================================
RCS file: /var/cvs/busybox/coreutils/tr.c,v
retrieving revision 1.36
diff -u -r1.36 tr.c
--- coreutils/tr.c 22 Jul 2003 22:15:17 -0000 1.36
+++ coreutils/tr.c 12 Mar 2004 17:46:42 -0000
@@ -202,9 +202,9 @@
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);
----
Hideki IWAMOTO h-iwamoto at kit.hi-ho.ne.jp
More information about the busybox
mailing list