]> granicus.if.org Git - onig/commitdiff
fix infinite loop in str_reduce_to_single_byte_code()
authorK.Kosako <kosako@sofnec.co.jp>
Thu, 8 Feb 2018 04:23:33 +0000 (13:23 +0900)
committerK.Kosako <kosako@sofnec.co.jp>
Thu, 8 Feb 2018 04:23:33 +0000 (13:23 +0900)
src/regparse.c

index 0c17ff0922e77f48155e39b3351fda60dd15cea8..e6a48b3211d93bc92018595aeaecbe67f51a954f 100644 (file)
@@ -394,6 +394,7 @@ str_reduce_to_single_byte_code(OnigEncoding enc, UChar* s, UChar* end,
   while (p < end) {
     n = ONIGENC_MBC_ENC_LEN(enc, p);
     if (n > 1) break;
+    p += n;
   }
 
   if (n < 2) {
@@ -6116,7 +6117,7 @@ parse_callout_of_name(Node** np, int cterm, UChar** src, UChar* end, ScanEnv* en
   if (c != cterm)
     return ONIGERR_INVALID_CALLOUT_PATTERN;
 
-  r = onig_get_callout_id_from_name(env->enc, name_start, name_end, &id);
+  r = onig_get_callout_id_from_name(enc, name_start, name_end, &id);
   if (r != ONIG_NORMAL) return r;
 
   r = node_new_callout(np, CALLOUT_OF_NAME, id, dirs, env);