cm_utf8: Fail on empty input range

Issue: #23132
pipelines/264489
Brad King 2022-01-21 10:59:13 -05:00
parent 91de0ff599
commit 0bd6009a0c
1 changed files with 5 additions and 0 deletions

View File

@ -42,6 +42,11 @@ static unsigned int const cm_utf8_min[7] = {
const char* cm_utf8_decode_character(const char* first, const char* last,
unsigned int* pc)
{
/* We need at least one byte. */
if (first == last) {
return 0;
}
/* Count leading ones in the first byte. */
unsigned char c = (unsigned char)*first++;
unsigned char const ones = cm_utf8_ones[c];