diff options
author | Pauli <paul.dale@oracle.com> | 2017-08-23 08:10:31 +1000 |
---|---|---|
committer | Pauli <paul.dale@oracle.com> | 2017-08-25 07:56:35 +1000 |
commit | da9b249fd994124e954d871ff220cc2c0ddf9e6a (patch) | |
tree | 0f4dd9e2e5762ea12705fdaba83f90abe10e7112 /test/ctype_internal_test.c | |
parent | 0f3ffbd1581fad58095fedcc32b0da42a486b8b7 (diff) | |
download | openssl-da9b249fd994124e954d871ff220cc2c0ddf9e6a.tar.gz |
Check range of test values using isascii before diving into the full
range of ctype functions.
Revert "Don't try to compare the ctype functions on values > 127"
This reverts commit 6ac589081b53a62bff5f0abe62c1c109c419c7a0.
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4225)
Diffstat (limited to 'test/ctype_internal_test.c')
-rw-r--r-- | test/ctype_internal_test.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/test/ctype_internal_test.c b/test/ctype_internal_test.c index 04ab14d73f..ce3cbfee0a 100644 --- a/test/ctype_internal_test.c +++ b/test/ctype_internal_test.c @@ -27,9 +27,14 @@ static int isblank(int c) static int test_ctype_chars(int n) { - return TEST_int_eq(isalnum(n) != 0, ossl_isalnum(n) != 0) - && TEST_int_eq(isalpha(n) != 0, ossl_isalpha(n) != 0) - && TEST_int_eq(isascii(n) != 0, ossl_isascii(n) != 0) + if (!TEST_int_eq(isascii((unsigned char)n) != 0, ossl_isascii(n) != 0)) + return 0; + + if (!ossl_isascii(n)) + return 1; + + return TEST_int_eq(isalpha(n) != 0, ossl_isalpha(n) != 0) + && TEST_int_eq(isalnum(n) != 0, ossl_isalnum(n) != 0) && TEST_int_eq(isblank(n) != 0, ossl_isblank(n) != 0) && TEST_int_eq(iscntrl(n) != 0, ossl_iscntrl(n) != 0) && TEST_int_eq(isdigit(n) != 0, ossl_isdigit(n) != 0) @@ -75,7 +80,7 @@ static int test_ctype_eof(void) int setup_tests(void) { - ADD_ALL_TESTS(test_ctype_chars, 128); + ADD_ALL_TESTS(test_ctype_chars, 256); ADD_ALL_TESTS(test_ctype_toupper, OSSL_NELEM(case_change)); ADD_ALL_TESTS(test_ctype_tolower, OSSL_NELEM(case_change)); ADD_TEST(test_ctype_eof); |