mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* io.c (read_all): block string buffer modification during
rb_io_fread() by freezing it temporarily. [ruby-dev:24479] * dir.c (rb_push_glob): block call at once the end of method. [ruby-dev:24487] * ext/enumerator/enumerator.c (enum_each_slice): remove rb_gc_force_recycle() to prevent potential SEGV. [ruby-dev:24499] * ext/zlib/zlib.c (zstream_expand_buffer): hide internal string buffer by clearing klass. [ruby-dev:24510] * ext/socket/socket.c (sock_s_getservbyaname): protocol string might be altered. [ruby-dev:24503] * string.c (rb_str_upto): check if return value from succ is a string. [ruby-dev:24504] * io.c (rb_io_popen): get mode string via rb_io_flags_mode() to avoid mode string modification. [ruby-dev:24454] * io.c (rb_io_getline_fast): should take delim as unsigned char to distinguish EOF and '\377'. [ruby-dev:24460] * io.c (rb_io_getline): add check for RS modification. [ruby-dev:24461] * enum.c (enum_sort_by): use qsort() directly instead using rb_iterate(). [ruby-dev:24462] * enum.c (enum_each_with_index): remove rb_gc_force_recycle() to prevent access to recycled object (via continuation for example). [ruby-dev:24463] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c0700eba8d
commit
1057902ac7
19 changed files with 126 additions and 124 deletions
|
@ -70,7 +70,6 @@ enum_each_slice(obj, n)
|
|||
ary = memo->u1.value;
|
||||
if (RARRAY(ary)->len > 0) rb_yield(ary);
|
||||
|
||||
rb_gc_force_recycle((VALUE)memo);
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
|
@ -114,7 +113,6 @@ enum_each_cons(obj, n)
|
|||
|
||||
rb_iterate(rb_each, obj, each_cons_i, (VALUE)memo);
|
||||
|
||||
rb_gc_force_recycle((VALUE)memo);
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
|
@ -163,7 +161,6 @@ enumerator_each(obj)
|
|||
rb_to_id(rb_ivar_get(obj, id_enum_method)),
|
||||
rb_ivar_get(obj, id_enum_args));
|
||||
val = rb_iterate((VALUE (*)_((VALUE)))enumerator_iter, obj, rb_yield, 0);
|
||||
rb_gc_force_recycle(obj);
|
||||
return val;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue