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

ruby-changes:71272

From: Nobuyoshi <ko1@a...>
Date: Fri, 25 Feb 2022 19:52:45 +0900 (JST)
Subject: [ruby-changes:71272] b5c2a0840f (master): [ruby/date] Anchor at beginning of numbers

https://git.ruby-lang.org/ruby.git/commit/?id=b5c2a0840f

From b5c2a0840f4dd8b44e0f82cda7a7f225d0a816ef Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Fri, 9 Jul 2021 07:21:27 +0900
Subject: [ruby/date] Anchor at beginning of numbers

https://hackerone.com/reports/1254844

https://github.com/ruby/date/commit/2f7814cc22
---
 ext/date/date_parse.c        | 2 +-
 test/date/test_date_parse.rb | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/ext/date/date_parse.c b/ext/date/date_parse.c
index 9511bedf47..95274d5baa 100644
--- a/ext/date/date_parse.c
+++ b/ext/date/date_parse.c
@@ -980,7 +980,7 @@ parse_iso(VALUE str, VALUE hash) https://github.com/ruby/ruby/blob/trunk/ext/date/date_parse.c#L980
 {
     static const char pat_source[] =
 #ifndef TIGHT_PARSER
-	"('?[-+]?\\d+)-(\\d+)-('?-?\\d+)"
+	"('?[-+]?" NUMBER "+)-(\\d+)-('?-?\\d+)"
 #else
 	BOS
 	FPW_COM FPT_COM
diff --git a/test/date/test_date_parse.rb b/test/date/test_date_parse.rb
index a87b165080..8876104f11 100644
--- a/test/date/test_date_parse.rb
+++ b/test/date/test_date_parse.rb
@@ -590,6 +590,11 @@ class TestDateParse < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/date/test_date_parse.rb#L590
     h = Timeout.timeout(1) {Date._parse(str)}
     assert_equal(100_000, Math.log10(h[:year]))
     assert_equal(1, h[:mon])
+
+    str = "Jan - 1" + "0" * 100_000
+    h = Timeout.timeout(1) {Date._parse(str)}
+    assert_equal(1, h[:mon])
+    assert_not_include(h, :year)
   end
 
   require 'time'
-- 
cgit v1.2.1


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

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