diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-01-20 09:34:36 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-01-20 09:34:36 +0000 |
commit | dcd87b140ccb208b6d73ef35474ce23affa6bc51 (patch) | |
tree | 6ba64d567e1ca399fa3abb2d73b66bf574076417 /variable.c | |
parent | 3f89d1660a120bbbcc26861f2b8fc72772e20f47 (diff) |
* string.c (rb_str_new4): should propagate taintedness.
* struct.c (rb_struct_set): use original method name, not callee
name, to retrieve member slot. [ruby-core:04268]
* time.c (time_strftime): protect from format modification from GC
finalizers.
* gc.c (rb_data_object_alloc): klass may be NULL.
[ruby-list:40498]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'variable.c')
-rw-r--r-- | variable.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/variable.c b/variable.c index 15c75eba46..506657e6e0 100644 --- a/variable.c +++ b/variable.c @@ -1289,8 +1289,7 @@ rb_autoload(mod, id, file) tbl = check_autoload_table(av); } else { - av = Data_Wrap_Struct(rb_cData, rb_mark_tbl, st_free_table, 0); - RBASIC(av)->klass = 0; + av = Data_Wrap_Struct(0 , rb_mark_tbl, st_free_table, 0); st_add_direct(tbl, autoload, av); DATA_PTR(av) = tbl = st_init_numtable(); } @@ -1356,7 +1355,7 @@ autoload_file(mod, id) } file = ((NODE *)load)->nd_lit; Check_Type(file, T_STRING); - if (!RSTRING(file)->ptr) { + if (!RSTRING(file)->ptr || !*RSTRING(file)->ptr) { rb_raise(rb_eArgError, "empty file name"); } if (!rb_provided(RSTRING(file)->ptr)) { |