Skip to content

Commit b896f80

Browse files
authored
[Bug #21512] Socket.tcp_with_fast_fallback: Pass proper addr family to getaddrinfo (ruby#13878)
Socket.tcp_with_fast_fallback: Pass proper addr family to getaddrinfo Addrinfo.getaddrinfo expects Socket::AF_INET or Socket::AF_INET6 as its third argument (family). However Socket.tcp_with_fast_fallback was incorrectly passing :ipv4 or :ipv6. Repro: require 'socket' Socket.tcp_with_fast_fallback('example.com', 80, '127.0.0.1') Expected behavior: Returns a Socket object Actual: Raises unknown socket domain: ipv4 (SocketError)
1 parent 03800bf commit b896f80

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

ext/socket/lib/socket.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -704,7 +704,7 @@ def self.tcp_with_fast_fallback(host, port, local_host = nil, local_port = nil,
704704

705705
if resolving_family_names.size == 1
706706
family_name = resolving_family_names.first
707-
addrinfos = Addrinfo.getaddrinfo(host, port, family_name, :STREAM, timeout: resolv_timeout)
707+
addrinfos = Addrinfo.getaddrinfo(host, port, ADDRESS_FAMILIES[:family_name], :STREAM, timeout: resolv_timeout)
708708
resolution_store.add_resolved(family_name, addrinfos)
709709
hostname_resolution_result = nil
710710
hostname_resolution_notifier = nil

0 commit comments

Comments
 (0)