Hi,
I spotted the following patch in 2.4.31-pre2-bk4 which didn't seem to
make much sense (apologies for line-wrapping):
diff -Nru a/drivers/usb/serial/io_edgeport.c
b/drivers/usb/serial/io_edgeport.c
--- a/drivers/usb/serial/io_edgeport.c 2004-12-16 05:57:23 -08:00
+++ b/drivers/usb/serial/io_edgeport.c 2005-05-16 06:05:08 -07:00
@@ -2803,9 +2803,13 @@
static void unicode_to_ascii (char *string, short *unicode, int
unicode_size)
{
int i;
- for (i = 0; i < unicode_size; ++i) {
+
+ if (unicode_size <= 0)
+ return;
+
+ for (i = 0; i < unicode_size; ++i)
string[i] = (char)(le16_to_cpu(unicode[i]));
- }
+
string[unicode_size] = 0x00;
}
This was backported from 2.6.10 and is apparently to work around a gcc
-Os bug that generates incorrect code without this patch when the
'unicode_size' parameter is negative, leading to an oops. The original
bug report is here:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=128916
The thing that's puzzling me is why does the workaround not bother
null-terminating the string?
--
-=( Ian Abbott @ MEV Ltd. E-mail: <[EMAIL PROTECTED]> )=-
-=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=-
-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel