From ae0ccdf4569d6d4f49c60392a9e849aaa58c3fa6 Mon Sep 17 00:00:00 2001 From: Roland Reichwein Date: Thu, 28 Jan 2021 21:18:39 +0100 Subject: Bugfix, test --- include/unicode.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include') diff --git a/include/unicode.h b/include/unicode.h index f539e6b..908c75f 100644 --- a/include/unicode.h +++ b/include/unicode.h @@ -141,6 +141,11 @@ namespace { throw std::invalid_argument("Bad input: Invalid 2 byte sequence"); } else throw std::invalid_argument("Bad input: 2nd byte expected, none found"); + + // check only for sequences >= 2 bytes (ASCII is always compliant) + if (!unicode::is_valid_unicode(value)) + throw std::invalid_argument("Invalid Unicode character: "s + std::to_string(static_cast(value))); + } else { // 1 byte: 7 bit ASCII value = byte0; sequence_length = 1; -- cgit v1.2.3