From dc25f85babd1b679669767b2dce09605b69e60ef Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 7 Jan 2014 15:00:55 +0900 Subject: mruby-string-utf8: UTF-8 string may contail NUL; #1646 --- mrbgems/mruby-string-utf8/src/string.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'mrbgems/mruby-string-utf8/src/string.c') diff --git a/mrbgems/mruby-string-utf8/src/string.c b/mrbgems/mruby-string-utf8/src/string.c index bcf682648..fd1296d3f 100644 --- a/mrbgems/mruby-string-utf8/src/string.c +++ b/mrbgems/mruby-string-utf8/src/string.c @@ -26,7 +26,7 @@ utf8len(unsigned char* p) int i; if (*p == 0) - return 0; + return 1; len = utf8len_tab[*p]; for (i = 1; i < len; ++i) if ((p[i] & 0xc0) != 0x80) @@ -39,7 +39,8 @@ mrb_utf8_strlen(mrb_value str) { size_t total = 0; unsigned char* p = (unsigned char*) RSTRING_PTR(str); - while (*p) { + unsigned char* e = p + RSTRING_LEN(str); + while (p len8) return mrb_nil_value(); -- cgit v1.2.3