summaryrefslogtreecommitdiff
path: root/enc
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-18 15:49:29 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-18 15:49:29 +0000
commit478cdf49d7fcca58de301637dba598d2da69ef3e (patch)
treee6059d88ca13119d3a6704c56735714503f33c84 /enc
parentbd210ff16425ab92aef0ca4ac5a28061fac7c154 (diff)
merge revision(s) 52016,52017,52019,52020,52021: [Backport #10735]
* enc/euc_jp.c (mbc_case_fold): check given string is valid or not, and if invalid, return 1. [Bug #11486] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@52652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'enc')
-rw-r--r--enc/euc_jp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/enc/euc_jp.c b/enc/euc_jp.c
index 61bb8ba65a..e4d3b70167 100644
--- a/enc/euc_jp.c
+++ b/enc/euc_jp.c
@@ -381,8 +381,10 @@ mbc_case_fold(OnigCaseFoldType flag,
OnigCodePoint code;
int len;
+ len = mbc_enc_len(p, end, enc);
code = get_lower_case(mbc_to_code(p, end, enc));
len = code_to_mbc(code, lower, enc);
+ if (len == ONIGERR_INVALID_CODE_POINT_VALUE) len = 1;
(*pp) += len;
return len; /* return byte length of converted char to lower */
}