From: K.Kosako Date: Tue, 9 Oct 2018 04:21:51 +0000 (+0900) Subject: adjust PR #125 X-Git-Tag: v6.9.1~18^2~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a3010490b6091126948edd6c39680aa6b27dd7c2;p=onig adjust PR #125 --- diff --git a/src/regexec.c b/src/regexec.c index 871e449..9a874fc 100644 --- a/src/regexec.c +++ b/src/regexec.c @@ -4069,7 +4069,6 @@ slow_search_backward(OnigEncoding enc, UChar* target, UChar* target_end, s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, adjust_text, s); while (s >= text) { - if(IS_NULL(s))break; if (*s == *target) { p = s + 1; t = target + 1; @@ -4273,7 +4272,6 @@ map_search_backward(OnigEncoding enc, UChar map[], const UChar *s = text_start; while (s >= text) { - if(IS_NULL(s))break; if (map[*s]) return (UChar* )s; s = onigenc_get_prev_char_head(enc, adjust_text, s); @@ -4480,6 +4478,8 @@ backward_search_range(regex_t* reg, const UChar* str, const UChar* end, { UChar *p; + if (range == 0) goto fail; + range += reg->dmin; p = s; @@ -4829,6 +4829,8 @@ onig_search_with_param(regex_t* reg, const UChar* str, const UChar* end, } } else { /* backward search */ + if (range < str) goto mismatch; + if (orig_start < end) orig_start += enclen(reg->enc, orig_start); /* is upper range */ @@ -4857,7 +4859,6 @@ onig_search_with_param(regex_t* reg, const UChar* str, const UChar* end, MATCH_AND_RETURN_CHECK(orig_start); s = prev; } - if(IS_NULL(s))break; } while (s >= range); goto mismatch; } diff --git a/src/regparse.c b/src/regparse.c index c7106dd..cc4bb04 100644 --- a/src/regparse.c +++ b/src/regparse.c @@ -1562,7 +1562,7 @@ onig_set_callout_of_name(OnigEncoding enc, OnigCalloutType callout_type, } for (i = arg_num - opt_arg_num, j = 0; i < arg_num; i++, j++) { if (fe->arg_types[i] == ONIG_TYPE_STRING) { - if(IS_NULL(opt_defaults))return ONIGERR_INVALID_ARGUMENT; + if (IS_NULL(opt_defaults)) return ONIGERR_INVALID_ARGUMENT; OnigValue* val = opt_defaults + j; UChar* ds = onigenc_strdup(enc, val->s.start, val->s.end); CHECK_NULL_RETURN_MEMERR(ds);