summaryrefslogtreecommitdiffstats
path: root/re.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-08-19 05:56:09 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-08-19 05:56:09 +0000
commit2753f846938e5edfd164de9d1c72d5bce7c593ec (patch)
tree15aff53955adad0d278851c21030857a07bd2f5f /re.c
parent815106b114792039d8362f3cfc683d5b61d28ec5 (diff)
downloadruby-2753f846938e5edfd164de9d1c72d5bce7c593ec.tar.gz
ruby-2753f846938e5edfd164de9d1c72d5bce7c593ec.tar.xz
ruby-2753f846938e5edfd164de9d1c72d5bce7c593ec.zip
* array.c (sort_2): *a - *b may overflow.
* array.c (ary_new): len*sizeof(VALUE) may be a positive value. * array.c (rb_ary_initialize): ditto. * object.c (rb_class_allocate_instance): move singleton class check from rb_obj_alloc(). * re.c (rb_reg_initialize): should not modify frozen Regexp. * ext/tcltklib/tcltklib.c (ip_init): allocation framework. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@2720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 're.c')
-rw-r--r--re.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/re.c b/re.c
index 5663f0291..94cefa4bb 100644
--- a/re.c
+++ b/re.c
@@ -959,6 +959,9 @@ rb_reg_initialize(obj, s, len, options)
{
struct RRegexp *re = RREGEXP(obj);
+ if (OBJ_FROZEN(obj)) {
+ rb_error_frozen("Regexp");
+ }
if (re->ptr) re_free_pattern(re->ptr);
if (re->str) free(re->str);
re->ptr = 0;