[krbdev.mit.edu #470] make check fails because high-bit chars passed isprint()

Ken Raeburn via RT rt-comment at krbdev.mit.edu
Fri Jan 31 00:16:35 EST 2003


After decoding the attachments, I found that the output from
tests/asn.1/krb5_encode_test was different from the expected output in
one key way: in the ASCII dumps, characters with the high bit set were
being output instead of using "." as a placeholder for non-printing
characters.

I don't believe I have ever seen this problem, but I think it could
arise again.  The behavior of isprint is influenced by the current
locale, so some of these high-bit characters could become printing
characters.  Probably the right thing to do is add a test for values
under 127 (since it's an unsigned char value).  Or we could use
something like 'setlocale(LC_CTYPE,"C")' to force "normal"
interpretation.


More information about the krb5-bugs mailing list