Age | Commit message (Collapse) | Author |
|
avoid potential uninterruptable infinite loop.
* file.c (rb_file_s_expand_path): should not expand "." and ".."
not following dirsep.
* eval.c (rb_provide_feature): should not tweak extension used for
loading.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
loading.
* eval.c (rb_f_require): should not include path in $" value
* file.c (rb_find_file): should return 0 explicitly on failure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
frame in the block.
* file.c (rb_file_s_expand_path): may overrun buffer on stack.
* regex.c (re_search): should consider reverse search.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* object.c (rb_obj_dup): should free generic_ivar if original owns
them.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rb_find_file_noext().
* file.c (rb_find_file_noext): move rb_file_s_expand_path to
rb_f_require().
* string.c (rb_str_each_line): should propagate taint mark.
* ext/nkf/nkf.c (rb_nkf_kconv): ditto.
* ruby.c (load_file): local variables 'c' remain uninitialized on
xflag.
* regex.c (re_match): prefetched escaped character too early.
* eval.c (rb_call0): add argument check for attr_readers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
original self.
* eval.c (rb_eval_cmd): respect ruby_wrapper if set.
* eval.c (eval): do not update ruby_class unless scope is not
provided.
* eval.c (eval): preserve wrapper information.
* eval.c (proc_invoke): ditto.
* eval.c (block_pass): ditto.
* parse.y (void_expr): too much warnings for void context
(e.g. foo[1] that can be mere Proc call).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
EXPR_MID.
* gc.c (add_heap): allocation size of the heap unit is doubled for
each allocation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
time. previous behavior (search ".rb", then ".so") has a
security risk (ruby-bugs#PR140).
* regex.c (re_compile_pattern): avoid pushing unnecessary
option_set.
* eval.c (rb_load): tainted string is OK if wrapped *and*
$SAFE >= 4.
* eval.c (rb_thread_start_0): should not nail down higher blocks
before preserving original context (i.e. should not alter
original context).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
strings uncopied. "free" check revised.
* st.c (numhash): should shuffle bits by dividing by prime number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
specified.
* regex.c (re_compile_pattern): too much optimization for the
cases like /(.|a)b/.
* variable.c (fc_i): removed vast string allocation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
last_func may not be set.
* io.c (rb_io_ctl): ioctl should accept any integer within C long
range.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
subexpression if inside of it.
* eval.c (rb_yield_0): preserve and restore ruby_cref as well.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(OBJ_INFECT()).
* string.c (rb_str_crypt): ditto.
* string.c (rb_str_ljust): ditto.
* string.c (rb_str_rjust): ditto.
* string.c (rb_str_center): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
blocks too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* array.c (rb_ary_or): ditto.
* eval.c (rb_thread_schedule): should save context before raising
deadlock, saved context for current thread might be obsolete.
* time.c (make_time_t): non DST timezone shift supported (hopefully).
* signal.c: SIGINFO added.
* eval.c (rb_ensure): should not SEGV when prot_tag is NULL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
special constants.
* eval.c (rb_eval): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
variables.
* eval.c (rb_eval): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* eval.c (rb_thread_schedule): inifinite sleep should not cause
dead lock.
* array.c (rb_ary_flatten_bang): proper recursive detection.
* eval.c (yield_under): need not to prohibit at safe leve 4.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
than original space.
* gc.c (id2ref): should use NUM2ULONG()
* object.c (rb_mod_const_get): check whether name is a class
variable name.
* object.c (rb_mod_const_set): ditto.
* object.c (rb_mod_const_defined): ditto.
* marshal.c (w_float): precision changed to "%.16g"
* eval.c (rb_call0): wrong retry behavior.
* numeric.c (fix_aref): a bug on long>int architecture.
* eval.c (rb_eval_string_wrap): should restore ruby_wrapper.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* bignum.c (rb_big2long): 2**31 cannot fit in 31 bit long.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* eval.c (rb_thread_start_0): fixed memory leak.
* parse.y (none): should clear cmdarg_stack too.
* io.c (rb_fopen): use setvbuf() to avoid recursive malloc() on
some platforms.
* file.c (rb_stat_dev): device functions should honor stat field
types (except long long such as dev_t).
* eval.c (rb_mod_nesting): should not push nil for nesting array.
* eval.c (rb_mod_s_constants): should not search array by
rb_mod_const_at() for nil (happens for singleton class).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* eval.c (exec_under): need to push cref too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
for modules.
* eval.c (rb_set_safe_level): should set safe level in curr_thread
as well.
* eval.c (safe_setter): ditto.
* object.c (rb_obj_is_instance_of): nil belongs to false, not true.
* time.c (make_time_t): proper (I hope) daylight saving time
handling for both US and Europe. I HATE SUMMER TIME!
* eval.c (rb_thread_wait_for): non blocked signal interrupt should
stop the interval.
* class.c (rb_mod_clone): should copy method bodies too.
* bignum.c (bigdivrem): should trim trailing zero bdigits of
remainder, even if dd == 0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
sometimes reports wrong time.
* time.c (make_time_t): remove unnecessary range check for
platforms where negative time_t is available.
* numeric.c (flodivmod): a bug in no fmod case.
* process.c (pst_wifsignaled): should apply WIFSIGNALED for status
(int), not st (VALUE).
* class.c (rb_include_module): module inclusion should be check
taints.
* class.c (rb_include_module): freeze check at first.
* eval.c (rb_attr): sprintf() and rb_intern() moved into
conditional body.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
value is ignored.
* class.c (rb_singleton_class_clone): should copy class constant
table as well.
* class.c (rb_include_module): sometimes cache was mistakenly left
uncleared - based on the patch by K.Kosako.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* eval.c (rb_mod_define_method): should have raised exception for
type error.
* ruby.h: changed "extern INLINE" to "static inline".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* eval.c (ev_const_defined): should ignore toplevel cbase (Object).
* eval.c (ev_const_get): ditto.
* ext/curses/curses.c: curses on Mac OS X public beta does not
have _maxx etc.
* marshal.c (w_object): should truncate trailing zero short for
bignums.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
is rb_cObject.
* eval.c (ev_const_get): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
THREAD_TO_KILL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
default self should be checked by klass == 0.
* bignum.c (rb_cstr2inum): should disallow '++1', '+-1', etc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (stmt): while/until modifier must work for empty body.
* ruby.c (ruby_set_argv): clear ARGV contents before adding args.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
to appear in singleton method body.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
argument.
* eval.c (ev_const_defined): check Object's constant if no current
class is available (e.g. defining singleton class for Fixnums).
* eval.c (rb_yield_0): should check based on rb_block_given_p()
and rb_f_block_given_p().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
class is available (e.g. defining singleton class for Fixnums).
* eval.c (proc_call): ignore block to `call' always, despite of
being orphan or not.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
based on ruby_frame->iter altered by PUSH_ITER().
* eval.c (rb_thread_fd_close): should save current context before
raising exception.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
GCC and i386 CPU.
* gc.c (rb_gc, Init_stack): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|