Issue #11179 has been reported by Shin'ya Ueoka. ---------------------------------------- Bug #11179: Addrinfo parsing a port number https://bugs.ruby-lang.org/issues/11179 * Author: Shin'ya Ueoka * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.3.0dev (2015-05-25 trunk 50637) [x86_64-linux] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- In the case of the following code, ip_port returns 34464 because the number 99999 is cast as `short int`. Is the result expected? ``` ruby require 'socket' Addrinfo.tcp('', 99999).ip_port # => 34463 ``` Even if the above behavior is correct, ip_port should return 65535 in the following code. But actually, Addrinfo raises an exception because -1 is parsed as service name. This behavior is inconsistent with the above. ``` ruby require 'socket' Addrinfo.tcp('', -1).ip_port # => Servname not supported for ai_socktype (SocketError) ``` -- https://bugs.ruby-lang.org/