Skip to content

Commit 536e4bd

Browse files
authored
Merge pull request #9711 from nobu/clarify-requirement-validation
Clarify requirement marshal validation
2 parents cfe9516 + 18f2e78 commit 536e4bd

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

lib/rubygems/requirement.rb

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,15 @@ def marshal_dump # :nodoc:
203203
def marshal_load(array) # :nodoc:
204204
@requirements = array[0]
205205

206-
raise TypeError, "wrong @requirements" unless Array === @requirements &&
207-
@requirements.all? {|r| r.size == 2 && (r.first.is_a?(String) || r[0] = "=") && r.last.is_a?(Gem::Version) }
206+
if Array === @requirements
207+
return if @requirements.all? do |r|
208+
next false unless r.size == 2
209+
r[0] = "=" unless r.first.is_a?(String)
210+
r.last.is_a?(Gem::Version)
211+
end
212+
end
213+
214+
raise TypeError, "wrong @requirements"
208215
end
209216

210217
def yaml_initialize(tag, vals) # :nodoc:

0 commit comments

Comments
 (0)