소스 검색

cm_utf8: Fail on empty input range

Issue: #23132
Brad King 3 년 전
부모
커밋
0bd6009a0c
1개의 변경된 파일5개의 추가작업 그리고 0개의 파일을 삭제
  1. 5 0
      Source/cm_utf8.c

+ 5 - 0
Source/cm_utf8.c

@@ -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];