From 214e72533428355e6145d292f059952fa7e799af Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 16 May 2009 23:55:46 +0000 Subject: [PATCH] * ruby.c (set_arg0): get rids of overrun. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ ruby.c | 25 ++++--------------------- version.h | 4 ++-- 3 files changed, 10 insertions(+), 23 deletions(-) diff --git a/ChangeLog b/ChangeLog index 92ae62fa9a..3f29ef94dd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun May 17 08:55:44 2009 Nobuyoshi Nakada + + * ruby.c (set_arg0): get rids of overrun. + Sat May 16 18:38:32 2009 Kouhei Sutou * lib/rss/parser.rb: add nil check. diff --git a/ruby.c b/ruby.c index 99f1f1984f..5f797851c8 100644 --- a/ruby.c +++ b/ruby.c @@ -124,7 +124,7 @@ static struct { int argc; char **argv; #if !defined(PSTAT_SETCMD) && !defined(HAVE_SETPROCTITLE) - int len; + size_t len; #endif } origarg; @@ -1623,7 +1623,7 @@ rb_load_file(const char *fname) extern char **environ; #endif -static int +static size_t get_arglen(int argc, char **argv) { char *s = argv[0]; @@ -1686,7 +1686,7 @@ set_arg0(VALUE val, ID id) #else if (i >= origarg.len) { - i = origarg.len; + i = origarg.len - 1; } memcpy(origarg.argv[0], s, i); @@ -1823,24 +1823,7 @@ ruby_process_options(int argc, char **argv) void ruby_sysinit(int *argc, char ***argv) { -#if defined(__APPLE__) && (defined(__MACH__) || defined(__DARWIN__)) - int i, n = *argc, len = 0; - char **v1 = *argv, **v2, *p; - - for (i = 0; i < n; ++i) { - len += strlen(v1[i]) + 1; - } - v2 = malloc((n + 1)* sizeof(char*) + len); - p = (char *)&v2[n + 1]; - for (i = 0; i < n; ++i) { - int l = strlen(v1[i]); - memcpy(p, v1[i], l + 1); - v2[i] = p; - p += l + 1; - } - v2[n] = 0; - *argv = v2; -#elif defined(_WIN32) +#if defined(_WIN32) void rb_w32_sysinit(int *argc, char ***argv); rb_w32_sysinit(argc, argv); #endif diff --git a/version.h b/version.h index e61a138b75..46d8ea4f2c 100644 --- a/version.h +++ b/version.h @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.2" -#define RUBY_RELEASE_DATE "2009-05-16" +#define RUBY_RELEASE_DATE "2009-05-17" #define RUBY_PATCHLEVEL -1 #define RUBY_BRANCH_NAME "trunk" @@ -8,7 +8,7 @@ #define RUBY_VERSION_TEENY 1 #define RUBY_RELEASE_YEAR 2009 #define RUBY_RELEASE_MONTH 5 -#define RUBY_RELEASE_DAY 16 +#define RUBY_RELEASE_DAY 17 #include "ruby/version.h"