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

ruby-changes:19405

From: naruse <ko1@a...>
Date: Fri, 6 May 2011 17:38:49 +0900 (JST)
Subject: [ruby-changes:19405] Ruby:r31445 (trunk): * ext/date/date_core.c (DAY_IN_NANOSECONDS): refix: 31438.

naruse	2011-05-06 17:38:36 +0900 (Fri, 06 May 2011)

  New Revision: 31445

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=31445

  Log:
    * ext/date/date_core.c (DAY_IN_NANOSECONDS): refix: 31438.
      check with LONG_MAX and cast as long; without this the calculation
      will be done as int and overflow.

  Modified files:
    trunk/ChangeLog
    trunk/ext/date/date_core.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 31444)
+++ ChangeLog	(revision 31445)
@@ -1,3 +1,9 @@
+Fri May  6 16:27:33 2011  NARUSE, Yui  <naruse@r...>
+
+	* ext/date/date_core.c (DAY_IN_NANOSECONDS): refix: 31438.
+	  check with LONG_MAX and cast as long; without this the calculation
+	  will be done as int and overflow.
+
 Fri May  6 15:01:11 2011  URABE Shyouhei  <shyouhei@r...>
 
 	* ext/syck/rubyext.c (mktime_do): avoid buffer overrun, by
Index: ext/date/date_core.c
===================================================================
--- ext/date/date_core.c	(revision 31444)
+++ ext/date/date_core.c	(revision 31445)
@@ -42,8 +42,8 @@
 
 #define DAY_IN_SECONDS 86400
 #define SECOND_IN_NANOSECONDS 1000000000
-#if (ULONG_MAX / DAY_IN_SECONDS) > SECOND_IN_NANOSECONDS
-#define DAY_IN_NANOSECONDS LONG2NUM(DAY_IN_SECONDS * SECOND_IN_NANOSECONDS)
+#if (LONG_MAX / DAY_IN_SECONDS) > SECOND_IN_NANOSECONDS
+#define DAY_IN_NANOSECONDS LONG2NUM((long)DAY_IN_SECONDS * SECOND_IN_NANOSECONDS)
 #elif defined HAVE_LONG_LONG
 #define DAY_IN_NANOSECONDS LL2NUM((LONG_LONG)DAY_IN_SECONDS * SECOND_IN_NANOSECONDS)
 #else

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

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