summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--object.c6
-rw-r--r--string.c1
3 files changed, 18 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 3faef4be5e..07d6c3f372 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/object.c b/object.c
index 4e3d5dd856..86a246f1c3 100644
--- a/object.c
+++ b/object.c
@@ -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;
}
diff --git a/string.c b/string.c
index 33afb982c3..9137b0fc55 100644
--- a/string.c
+++ b/string.c
@@ -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) {