зеркало из https://github.com/github/ruby.git
[rubygems/rubygems] Allow spaces in file headers during octal check
https://github.com/rubygems/rubygems/commit/e9e25731d8
This commit is contained in:
Родитель
7574b836a9
Коммит
03fe7da186
|
@ -126,7 +126,8 @@ class Gem::Package::TarHeader
|
|||
end
|
||||
|
||||
def self.strict_oct(str)
|
||||
return str.oct if str =~ /\A[0-7]*\z/
|
||||
return str.strip.oct if str.strip =~ /\A[0-7]*\z/
|
||||
|
||||
raise ArgumentError, "#{str.inspect} is not an octal string"
|
||||
end
|
||||
|
||||
|
|
|
@ -205,4 +205,23 @@ tjmather\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
|
|||
assert_equal 6932, tar_header.checksum
|
||||
end
|
||||
|
||||
def test_spaces_in_headers
|
||||
stream = StringIO.new(
|
||||
<<-EOF.dup.force_encoding('binary').split("\n").join
|
||||
Access_Points_09202018.csv
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
|
||||
\x00\x00100777 \x00 0 \x00 0 \x00 4357 13545040367 104501
|
||||
\x000
|
||||
EOF
|
||||
)
|
||||
|
||||
tar_header = Gem::Package::TarHeader.from stream
|
||||
|
||||
assert_equal 0, tar_header.uid
|
||||
assert_equal 0, tar_header.gid
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Загрузка…
Ссылка в новой задаче