diff options
| author | nagachika <nagachika@ruby-lang.org> | 2024-07-06 15:55:04 +0900 |
|---|---|---|
| committer | nagachika <nagachika@ruby-lang.org> | 2024-07-06 15:55:04 +0900 |
| commit | 2b35d80834f14011f7d313f8fac7855dc9949f70 (patch) | |
| tree | 3dea8db37eca4ba53723e459c41fdd86b3999c96 | |
| parent | a67b43d99e24dc7c2a9e134a65f28f968fe124c1 (diff) | |
merge revision(s) 75aaeb35b82da26359b9418d2963384d0c55839c: [Backport #20239]
[Bug #20239] Fix overflow at down-casting
| -rw-r--r-- | regenc.c | 2 | ||||
| -rw-r--r-- | regexec.c | 2 | ||||
| -rw-r--r-- | version.h | 2 |
3 files changed, 3 insertions, 3 deletions
@@ -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)) { @@ -3293,7 +3293,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_approx(encode, sprev, end)) < s) sprev += len; @@ -11,7 +11,7 @@ # define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR #define RUBY_VERSION_TEENY 4 #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR -#define RUBY_PATCHLEVEL 182 +#define RUBY_PATCHLEVEL 183 #include "ruby/version.h" #include "ruby/internal/abi.h" |
