Commit da9b249f authored by Pauli's avatar Pauli
Browse files

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 6ac58908.

Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4225)
parent 0f3ffbd1
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -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);