Summary

openssl egg is tripping on utf8, someplace

Metadata

Attachments

Description

When using read-byte on a port returned from the openssl egg, if a byte with a high bit set arrives, something goes wrong.

See:

 http://paste.lisp.org/display/134012#1

The second paste outputs:

(61 62 63 1fffef 1fffbf 1fffa0 31 32 33)

rather than the expected:

(61 62 63 ef bf a0 31 32 33)

Changes and comments

[2013-01-04 04:08:44 UTC] zbigniew wrote:

I haven't tested this, but try the attached patch if you can. The issue appears to be a sign error; C_make_character effectively expects int (or an unsigned char). If passed a regular char with high bit set, that's a negative value, which is sign-extended when converted to int and then treated as unicode.

[2013-01-04 04:09:11 UTC] zbigniew attached openssl-get-uchar.diff.txt (description=#f)

[2013-01-04 04:29:36 UTC] zbigniew changed status from new to assigned

[2013-01-04 04:29:36 UTC] zbigniew set owner to chust

[2013-01-04 04:29:36 UTC] zbigniew wrote:

Reported to work by sethalves on IRC. I'll leave this open for about a week and commit it if Thomas does not get a chance.

[2013-01-10 22:04:09 UTC] zbigniew changed status from assigned to closed

[2013-01-10 22:04:09 UTC] zbigniew set resolution to fixed

[2013-01-10 22:04:09 UTC] zbigniew wrote:

Fixed in 1.6.2.