From f780cdec75b5f09a7afbd9b45fad1f0d709fe946 Mon Sep 17 00:00:00 2001 From: akr Date: Fri, 4 Jan 2008 05:01:58 +0000 Subject: * re.c (rb_reg_prepare_re): check string encoding. Oniguruma doesn't support invalid encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- re.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 're.c') diff --git a/re.c b/re.c index 5403139670..b9a421a88f 100644 --- a/re.c +++ b/re.c @@ -940,6 +940,12 @@ rb_reg_prepare_re(VALUE re, VALUE str) int need_recompile = 0; rb_encoding *enc; + if (rb_enc_str_coderange(str) == ENC_CODERANGE_BROKEN) { + rb_raise(rb_eArgError, + "broken %s string", + rb_enc_name(rb_enc_get(str))); + } + rb_reg_check(re); /* ignorecase status */ if (rb_reg_fixed_encoding_p(re)) { -- cgit v1.2.3