diff options
author | Jeff Hostetler <jeffhost@microsoft.com> | 2021-03-16 00:08:26 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-03-16 00:32:51 +0300 |
commit | 77e522caaeebe8c6378dcf7045b19cbd22c8b2fb (patch) | |
tree | a935ff8bd5ce0802dfda6fbd530e99f07446f491 /unix-stream-server.h | |
parent | 55144ccb0ac48bd2db0b907a8e8123b2befe83d1 (diff) |
unix-socket: disallow chdir() when creating unix domain sockets
Calls to `chdir()` are dangerous in a multi-threaded context. If
`unix_stream_listen()` or `unix_stream_connect()` is given a socket
pathname that is too long to fit in a `sockaddr_un` structure, it will
`chdir()` to the parent directory of the requested socket pathname,
create the socket using a relative pathname, and then `chdir()` back.
This is not thread-safe.
Teach `unix_sockaddr_init()` to not allow calls to `chdir()` when this
flag is set.
Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'unix-stream-server.h')
0 files changed, 0 insertions, 0 deletions