diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | object.c | 6 | ||||
-rw-r--r-- | string.c | 1 |
3 files changed, 18 insertions, 0 deletions
@@ -1,3 +1,14 @@ +Wed Jan 10 01:50:45 2001 Yukihiro Matsumoto <matz@ruby-lang.org> + + * string.c (rb_str_reverse_bang): forgot to call rb_str_modify(). + +Tue Jan 9 17:41:40 2001 Yukihiro Matsumoto <matz@ruby-lang.org> + + * object.c (rb_obj_taint): check frozen status before modifying + taint status. + + * object.c (rb_obj_untaint): ditto. + Tue Jan 9 16:22:14 2001 Yukihiro Matsumoto <matz@ruby-lang.org> * enum.c (enum_inject): new method. @@ -286,6 +286,9 @@ rb_obj_taint(obj) VALUE obj; { rb_secure(4); + if (OBJ_FROZEN(obj)) { + rb_error_frozen("object"); + } OBJ_TAINT(obj); return obj; } @@ -295,6 +298,9 @@ rb_obj_untaint(obj) VALUE obj; { rb_secure(3); + if (OBJ_FROZEN(obj)) { + rb_error_frozen("object"); + } FL_UNSET(obj, FL_TAINT); return obj; } @@ -1399,6 +1399,7 @@ rb_str_reverse_bang(str) char *s, *e; char c; + rb_str_modify(str); s = RSTRING(str)->ptr; e = s + RSTRING(str)->len - 1; while (s < e) { |