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

ruby-changes:2213

From: ko1@a...
Date: 15 Oct 2007 11:45:31 +0900
Subject: [ruby-changes:2213] nobu - Ruby:r13704 (ruby_1_8, trunk): * marshal.c (r_bytes0): refined length check.

nobu	2007-10-15 11:45:14 +0900 (Mon, 15 Oct 2007)

  New Revision: 13704

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/marshal.c
    trunk/ChangeLog
    trunk/marshal.c

  Log:
    * marshal.c (r_bytes0): refined length check.  [ruby-dev:32059]


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=13704&r2=13703
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13704&r2=13703
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/marshal.c?r1=13704&r2=13703
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/marshal.c?r1=13704&r2=13703

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 13703)
+++ ChangeLog	(revision 13704)
@@ -1,3 +1,7 @@
+Mon Oct 15 11:45:12 2007  Nobuyoshi Nakada  <nobu@r...>
+
+	* marshal.c (r_bytes0): refined length check.  [ruby-dev:32059]
+
 Mon Oct 15 10:24:19 2007  Tanaka Akira  <akr@f...>
 
 	* process.c (pst_to_s): returns a string such as "pid 10220 exit 1"
Index: marshal.c
===================================================================
--- marshal.c	(revision 13703)
+++ marshal.c	(revision 13704)
@@ -929,7 +929,7 @@
 
     if (len == 0) return rb_str_new(0, 0);
     if (TYPE(arg->src) == T_STRING) {
-	if (RSTRING_LEN(arg->src) >= arg->offset + len) {
+	if (RSTRING_LEN(arg->src) - arg->offset >= len) {
 	    str = rb_str_new(RSTRING_PTR(arg->src)+arg->offset, len);
 	    arg->offset += len;
 	}
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 13703)
+++ ruby_1_8/ChangeLog	(revision 13704)
@@ -1,3 +1,7 @@
+Mon Oct 15 11:45:12 2007  Nobuyoshi Nakada  <nobu@r...>
+
+	* marshal.c (r_bytes0): refined length check.  [ruby-dev:32059]
+
 Mon Oct 15 09:58:07 2007  Nobuyoshi Nakada  <nobu@r...>
 
 	* marshal.c (r_bytes0): check if source has enough data.
Index: ruby_1_8/marshal.c
===================================================================
--- ruby_1_8/marshal.c	(revision 13703)
+++ ruby_1_8/marshal.c	(revision 13704)
@@ -873,7 +873,7 @@
 
     if (len == 0) return rb_str_new(0, 0);
     if (TYPE(arg->src) == T_STRING) {
-	if (RSTRING(arg->src)->len >= arg->offset + len) {
+	if (RSTRING(arg->src)->len - arg->offset >= len) {
 	    str = rb_str_new(RSTRING(arg->src)->ptr+arg->offset, len);
 	    arg->offset += len;
 	}

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml

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