* string.c (rb_str_reverse_bang): forgot to call rb_str_modify().

* object.c (rb_obj_taint): check frozen status before modifying
  taint status.

* object.c (rb_obj_untaint): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2001-01-09 16:55:50 +00:00
Родитель 254004fd9e
Коммит a404ead89e
3 изменённых файлов: 18 добавлений и 0 удалений

Просмотреть файл

@ -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> Tue Jan 9 16:22:14 2001 Yukihiro Matsumoto <matz@ruby-lang.org>
* enum.c (enum_inject): new method. * enum.c (enum_inject): new method.

Просмотреть файл

@ -286,6 +286,9 @@ rb_obj_taint(obj)
VALUE obj; VALUE obj;
{ {
rb_secure(4); rb_secure(4);
if (OBJ_FROZEN(obj)) {
rb_error_frozen("object");
}
OBJ_TAINT(obj); OBJ_TAINT(obj);
return obj; return obj;
} }
@ -295,6 +298,9 @@ rb_obj_untaint(obj)
VALUE obj; VALUE obj;
{ {
rb_secure(3); rb_secure(3);
if (OBJ_FROZEN(obj)) {
rb_error_frozen("object");
}
FL_UNSET(obj, FL_TAINT); FL_UNSET(obj, FL_TAINT);
return obj; return obj;
} }

Просмотреть файл

@ -1399,6 +1399,7 @@ rb_str_reverse_bang(str)
char *s, *e; char *s, *e;
char c; char c;
rb_str_modify(str);
s = RSTRING(str)->ptr; s = RSTRING(str)->ptr;
e = s + RSTRING(str)->len - 1; e = s + RSTRING(str)->len - 1;
while (s < e) { while (s < e) {