FIX: FinalDestination::HTTP: validate address argument (#25407)

This would only be empty due to a programming error elsewhere, but
checking this here is a failstop so that it doesn't go further.
This commit is contained in:
Leonardo Mosquera 2024-01-24 18:50:42 -03:00 committed by GitHub
parent 0c63463d28
commit 508e2e601c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 0 deletions

View File

@ -2,6 +2,8 @@
class FinalDestination::HTTP < Net::HTTP
def connect
raise ArgumentError.new("address cannot be nil or empty") unless @address.present?
original_open_timeout = @open_timeout
return super if @ipaddr

View File

@ -110,4 +110,12 @@ describe FinalDestination::HTTP do
FinalDestination::HTTP.start("example.com", 80, open_timeout: 5) {}
end.to raise_error(Net::OpenTimeout)
end
it "validates address argument against nil value" do
expect do FinalDestination::HTTP.start(nil) {} end.to raise_error(ArgumentError)
end
it "validates address argument against empty value" do
expect do FinalDestination::HTTP.start("") {} end.to raise_error(ArgumentError)
end
end