Charles-François Natali added the comment:

The culprint isn't Python, but the libc:
"""
$ ./python  -c "import socket; print(socket.getaddrinfo('836937931829', 80, 
socket.AF_INET, 0, socket.SOL_TCP))"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
socket.gaierror: [Errno -2] Name or service not known
"""

But with AF_UNSPEC:
"""
$ ./python  -c "import socket; print(socket.getaddrinfo('836937931829', 80, 
socket.AF_UNSPEC, 0, socket.SOL_TCP))"
[(2, 1, 6, '', ('172.17.10.54', 80))]
"""

And gdb confirms that the arguments are correctly passed to the libc:
"""
$ gdb --args ./python  -c "import socket; 
print(socket.getaddrinfo('836937931829', 80, socket.AF_INET, 0, 
socket.SOL_TCP))"
Breakpoint 1, __GI_getaddrinfo (name=0xb7cc9c84 "836937931829", 
service=0xbffff24e "80", hints=0xbffff278, pai=0xbffff274) at 
../sysdeps/posix/getaddrinfo.c:2379
(gdb) p *hints
$4 = {ai_flags = 0, ai_family = 2, ai_socktype = 0, ai_protocol = 6, ai_addrlen 
= 0, ai_addr = 0x0, ai_canonname = 0x0, ai_next = 0x0}
"""

You can also check directly with getaddrinfo(3).

----------
nosy: +neologix

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue20418>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to