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/