[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]