Permalink
Browse files

* ext/date/date_core.c (date_strftime_alloc): followed the change

	  of r32885.
	* doc/NEWS-1.9.3: followed the above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information...
1 parent b5f0597 commit 0acaab201a821bc6591598775ffc6b6c4980ba9d tadf committed Aug 13, 2011
Showing with 14 additions and 4 deletions.
  1. +6 −0 ChangeLog
  2. +3 −3 doc/NEWS-1.9.3
  3. +5 −1 ext/date/date_core.c
View
6 ChangeLog
@@ -1,3 +1,9 @@
+Sat Aug 13 09:05:16 2011 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * ext/date/date_core.c (date_strftime_alloc): followed the change
+ of r32885.
+ * doc/NEWS-1.9.3: followed the above change.
+
Sat Aug 13 08:55:38 2011 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych/scalar_scanner.rb: Only consider strings
View
6 doc/NEWS-1.9.3
@@ -145,10 +145,10 @@ with all sufficient information, see the ChangeLog file.
* A method strftime cannot produce huge output (same as Time's one).
- * Even though Date/DateTime can handle far dates, the following gives
- an empty string:
+ * Even though Date/DateTime can handle far dates, the following causes
+ an exception.
- DateTime.new(1<<10000).strftime('%Y') #=> ""
+ DateTime.new(1<<10000).strftime('%Y') # Errno::ERANGE
* Changed the format of inspect.
* Changed the format of marshal (but, can load old dumps).
View
6 ext/date/date_core.c
@@ -6721,8 +6721,12 @@ date_strftime_alloc(char **buf, const char *format,
* if the buffer is 1024 times bigger than the length of the
* format string, it's not failing for lack of room.
*/
- if (len > 0 || size >= 1024 * flen) break;
+ if (len > 0) break;
xfree(*buf);
+ if (size >= 1024 * flen) {
+ rb_sys_fail(format);
+ break;
+ }
}
return len;
}

0 comments on commit 0acaab2

Please sign in to comment.