From: Tomas Mraz Date: Tue, 11 Nov 2025 09:11:44 +0000 (+0100) Subject: Test invalid out of range character handling in UTF8_getc() X-Git-Tag: 3.6-PRE-CLANG-FORMAT-WEBKIT~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c40195b2bbdd68e85dc11f7162c9384e7d37f2cd;p=thirdparty%2Fopenssl.git Test invalid out of range character handling in UTF8_getc() Reviewed-by: Dmitry Belyavskiy Reviewed-by: Paul Dale Reviewed-by: Norbert Pocs (Merged from https://github.com/openssl/openssl/pull/29119) (cherry picked from commit 3595339b6901d9880282168eca75773080969c38) --- diff --git a/test/asn1_internal_test.c b/test/asn1_internal_test.c index 3c2222d988d..803c1593877 100644 --- a/test/asn1_internal_test.c +++ b/test/asn1_internal_test.c @@ -190,6 +190,16 @@ static int test_unicode_range(void) return ok; } +static int test_invalid_utf8(void) +{ + const unsigned char inv_utf8[] = "\xF4\x90\x80\x80"; + unsigned long val; + + if (!TEST_int_lt(UTF8_getc(inv_utf8, sizeof(inv_utf8), &val), 0)) + return 0; + return 1; +} + /********************************************************************** * * Tests of object creation @@ -270,6 +280,7 @@ int setup_tests(void) ADD_TEST(test_standard_methods); ADD_TEST(test_empty_nonoptional_content); ADD_TEST(test_unicode_range); + ADD_TEST(test_invalid_utf8); ADD_TEST(test_obj_create); ADD_TEST(test_obj_nid_undef); return 1;