a9b7a06ed8
Fixes #5778, #5840 The various IS_*() macros did not work correctly for 8-bit ASCII characters with the high bit set, because the CVT(a) preprocessor macro and'ed the given ASCII value with 0x7F, effectively folding the high value range 128-255 over the low value range 0-127. As a consequence, some of the IS_*() erroneously returned TRUE. This commit fixes the issue by adding range checks instead of cutting off high order bits using a mask. In order avoid multiple evaluation of macro arguments, most of the implementation was moved from macros into a static function is_keytype(). Thanks to Румен Петров for reporting and analyzing the UTF-8 parsing issue #5840. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/5903) |
||
---|---|---|
.. | ||
build.info | ||
conf_api.c | ||
conf_def.c | ||
conf_def.h | ||
conf_err.c | ||
conf_lcl.h | ||
conf_lib.c | ||
conf_mall.c | ||
conf_mod.c | ||
conf_sap.c | ||
conf_ssl.c | ||
keysets.pl |