File tree 3 files changed +8
-2
lines changed
3 files changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -101,7 +101,7 @@ def self.default_dst
101
101
def self . get ( identifier )
102
102
instance = @@loaded_zones [ identifier ]
103
103
unless instance
104
- raise InvalidTimezoneIdentifier , 'Invalid identifier' if identifier !~ /^ [A-Za-z0-9\ +\- _]+(\/ [A-Za-z0-9\ +\- _]+)*$ /
104
+ raise InvalidTimezoneIdentifier , 'Invalid identifier' if identifier !~ /\A [A-Za-z0-9+\- _]+(\/ [A-Za-z0-9+\- _]+)*\z /
105
105
identifier = identifier . gsub ( /-/ , '__m__' ) . gsub ( /\+ / , '__p__' )
106
106
begin
107
107
# Use a temporary variable to avoid an rdoc warning
Original file line number Diff line number Diff line change
1
+ raise 'This should never be executed'
Original file line number Diff line number Diff line change 1
1
$:. unshift File . join ( File . dirname ( __FILE__ ) , ".." , "lib" )
2
+ $:. unshift File . join ( File . dirname ( __FILE__ ) , "in_load_path" )
2
3
require 'test/unit'
3
4
require File . join ( File . dirname ( __FILE__ ) , 'test_utils' )
4
5
require 'tzinfo'
@@ -97,7 +98,11 @@ def test_get_not_exist
97
98
end
98
99
99
100
def test_get_invalid
100
- assert_raises ( InvalidTimezoneIdentifier ) { Timezone . get ( '../Definitions/UTC' ) }
101
+ assert_raises ( InvalidTimezoneIdentifier ) { Timezone . get ( '../definitions/UTC' ) }
102
+ end
103
+
104
+ def test_get_directory_traversal
105
+ assert_raises ( InvalidTimezoneIdentifier ) { Timezone . get ( "foo\n /../../../payload" ) }
101
106
end
102
107
103
108
def test_get_nil
You can’t perform that action at this time.
0 commit comments