[Bug #20239] Fix overflow at down-casting
This commit is contained in:
parent
8bd83bb133
commit
75aaeb35b8
2
regenc.c
2
regenc.c
@ -57,7 +57,7 @@ onigenc_mbclen(const OnigUChar* p,const OnigUChar* e, OnigEncoding enc)
|
||||
int ret = ONIGENC_PRECISE_MBC_ENC_LEN(enc, p, e);
|
||||
if (ONIGENC_MBCLEN_CHARFOUND_P(ret)) {
|
||||
ret = ONIGENC_MBCLEN_CHARFOUND_LEN(ret);
|
||||
if (ret > (int)(e - p)) ret = (int)(e - p); // just for case
|
||||
if (p + ret > e) ret = (int)(e - p); // just for case
|
||||
return ret;
|
||||
}
|
||||
else if (ONIGENC_MBCLEN_NEEDMORE_P(ret)) {
|
||||
|
@ -3521,7 +3521,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end,
|
||||
n = pend - pstart;
|
||||
DATA_ENSURE(n);
|
||||
sprev = s;
|
||||
STRING_CMP_IC(case_fold_flag, pstart, &s, (int)n, end);
|
||||
STRING_CMP_IC(case_fold_flag, pstart, &s, n, end);
|
||||
while (sprev + (len = enclen(encode, sprev, end)) < s)
|
||||
sprev += len;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user