ruby-changes:18668
From: yugui <ko1@a...>
Date: Fri, 28 Jan 2011 11:26:23 +0900 (JST)
Subject: [ruby-changes:18668] Ruby:r30695 (ruby_1_9_2): merges r30652 from trunk into ruby_1_9_2.
yugui 2011-01-28 11:25:49 +0900 (Fri, 28 Jan 2011) New Revision: 30695 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=30695 Log: merges r30652 from trunk into ruby_1_9_2. -- * string.c (rb_str_resize): get rid of out-of-bound access. Modified files: branches/ruby_1_9_2/ChangeLog branches/ruby_1_9_2/string.c branches/ruby_1_9_2/version.h Index: ruby_1_9_2/ChangeLog =================================================================== --- ruby_1_9_2/ChangeLog (revision 30694) +++ ruby_1_9_2/ChangeLog (revision 30695) @@ -1,3 +1,7 @@ +Tue Jan 25 08:28:19 2011 Nobuyoshi Nakada <nobu@r...> + + * string.c (rb_str_resize): get rid of out-of-bound access. + Tue Jan 25 07:00:52 2011 Nobuyoshi Nakada <nobu@r...> * string.c (rb_string_value_cstr): rb_str_modify can change Index: ruby_1_9_2/string.c =================================================================== --- ruby_1_9_2/string.c (revision 30694) +++ ruby_1_9_2/string.c (revision 30695) @@ -1712,7 +1712,8 @@ else if (len <= RSTRING_EMBED_LEN_MAX) { char *ptr = RSTRING(str)->as.heap.ptr; STR_SET_EMBED(str); - if (slen > 0) MEMCPY(RSTRING(str)->as.ary, ptr, char, len); + if (slen > len) slen = len; + if (slen > 0) MEMCPY(RSTRING(str)->as.ary, ptr, char, slen); RSTRING(str)->as.ary[len] = '\0'; STR_SET_EMBED_LEN(str, len); xfree(ptr); Index: ruby_1_9_2/version.h =================================================================== --- ruby_1_9_2/version.h (revision 30694) +++ ruby_1_9_2/version.h (revision 30695) @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.2" -#define RUBY_PATCHLEVEL 172 +#define RUBY_PATCHLEVEL 173 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/