tree 191ea913a3611fd655f310e8aa5abbd6726935d5
parent 16ae7a6ba1f1e2bfc19673e94dc4cde12a0d6735
author Maxim Dounin <mdounin@mdounin.ru> 1507141173 +0300
committer Maxim Dounin <mdounin@mdounin.ru> 1507141173 +0300

Fixed buffer overread with unix sockets after accept().

Some OSes (notably macOS, NetBSD, and Solaris) allow unix socket addresses
larger than struct sockaddr_un.  Moreover, some of them (macOS, Solaris)
return socklen of the socket address before it was truncated to fit the
buffer provided.  As such, on these systems socklen must not be used without
additional check that it is within the buffer provided.

Appropriate checks added to ngx_event_accept() (after accept()),
ngx_event_recvmsg() (after recvmsg()), and ngx_set_inherited_sockets()
(after getsockname()).

We also obtain socket addresses via getsockname() in
ngx_connection_local_sockaddr(), but it does not need any checks as
it is only used for INET and INET6 sockets (as there can be no
wildcard unix sockets).
