]> granicus.if.org Git - onig/commitdiff
fix data string length for utf-16
authorK.Kosako <kosako@sofnec.co.jp>
Wed, 28 Aug 2019 04:01:03 +0000 (13:01 +0900)
committerK.Kosako <kosako@sofnec.co.jp>
Thu, 29 Aug 2019 00:19:59 +0000 (09:19 +0900)
harnesses/encode-harness.c

index efc721b90683d43bbe7d4596edb65e819640a7fb..26cab6d0a8a4ca53324b758def758d18cd08774b 100644 (file)
@@ -135,6 +135,11 @@ int LLVMFuzzerTestOneInput(const uint8_t * Data, size_t Size)
   data += PATTERN_SIZE;
   remaining_size -= PATTERN_SIZE;
 
+#if defined(UTF16_BE) || defined(UTF16_LE)
+  if (remaining_size % 2 == 1)
+    remaining_size--;
+#endif
+
   unsigned char *str = (unsigned char*)malloc(remaining_size+4);
   memset(str, 0, remaining_size+4);
   memcpy(str, data, remaining_size);