diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-18 09:32:02 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-18 09:32:02 +0000 |
commit | d68e5dce35ae300f7ea9ce7a0083f2b61392b997 (patch) | |
tree | f3c54009d6b7ee77ae7548815dfd86fa13ac4bf1 | |
parent | d08d73b47de238e4136889cf096c58c69be9f760 (diff) | |
download | ruby-d68e5dce35ae300f7ea9ce7a0083f2b61392b997.tar.gz |
* ruby.c (ruby_init_loadpath_safe): should not dup tmp string. a
patch from neomjp neomjp in [ruby-core:24251].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ruby.c | 11 |
2 files changed, 9 insertions, 7 deletions
@@ -1,3 +1,8 @@ +Sun Oct 18 18:31:58 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ruby.c (ruby_init_loadpath_safe): should not dup tmp string. a + patch from neomjp neomjp in [ruby-core:24251]. + Sun Oct 18 09:49:14 2009 Yuki Sonoda (Yugui) <yugui@yugui.jp> * test/test_prime.rb @@ -350,8 +350,8 @@ ruby_init_loadpath_safe(int safe_level) VALUE sopath; # else char libpath[MAXPATHLEN + 1]; - size_t baselen; # endif + size_t baselen; char *p; #if defined _WIN32 || defined __CYGWIN__ @@ -416,16 +416,13 @@ ruby_init_loadpath_safe(int safe_level) strlcpy(libpath, ".", sizeof(libpath)); p = libpath + 1; } - - baselen = p - libpath; - -#define BASEPATH() rb_str_buf_cat(rb_str_buf_new(baselen+len), libpath, baselen) #else rb_str_set_len(sopath, p - libpath); - -#define BASEPATH() rb_str_dup(sopath) #endif + baselen = p - libpath; +#define BASEPATH() rb_str_buf_cat(rb_str_buf_new(baselen+len), libpath, baselen) + #define RUBY_RELATIVE(path, len) rb_str_buf_cat(BASEPATH(), path, len) #else #define RUBY_RELATIVE(path, len) rubylib_mangled_path(path, len) |