summaryrefslogtreecommitdiffstats
path: root/Python/errors.c
diff options
context:
space:
mode:
authorNir Soffer <nsoffer@redhat.com>2022-07-15 06:13:33 (GMT)
committerGitHub <noreply@github.com>2022-07-15 06:13:33 (GMT)
commitc22f134211743cd5ad14cec1dd4f527bee542b4c (patch)
tree8c40f5364d9cbe170cd996ea53666a0322275e99 /Python/errors.c
parentdc54193095e8ac8d73489f7ab133e016a5556256 (diff)
downloadcpython-c22f134211743cd5ad14cec1dd4f527bee542b4c.zip
cpython-c22f134211743cd5ad14cec1dd4f527bee542b4c.tar.gz
cpython-c22f134211743cd5ad14cec1dd4f527bee542b4c.tar.bz2
gh-94821: Fix autobind of empty unix domain address (GH-94826)
When binding a unix socket to an empty address on Linux, the socket is automatically bound to an available address in the abstract namespace. >>> s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) >>> s.bind("") >>> s.getsockname() b'\x0075499' Since python 3.9, the socket is bound to the one address: >>> s.getsockname() b'\x00' And trying to bind multiple sockets will fail with: Traceback (most recent call last): File "/home/nsoffer/src/cpython/Lib/test/test_socket.py", line 5553, in testAutobind s2.bind("") OSError: [Errno 98] Address already in use Added 2 tests: - Auto binding empty address on Linux - Failing to bind an empty address on other platforms Fixes f6b3a07b7df6 (bpo-44493: Add missing terminated NUL in sockaddr_un's length (GH-26866)
Diffstat (limited to 'Python/errors.c')
0 files changed, 0 insertions, 0 deletions