diff options
author | Roman Arutyunyan <arut@nginx.com> | 2018-06-01 16:53:02 +0300 |
---|---|---|
committer | Roman Arutyunyan <arut@nginx.com> | 2018-06-01 16:53:02 +0300 |
commit | 26a57486f013abff616be8345e542c15419f0759 (patch) | |
tree | 6a18ce05e742e64899809dba9e1be7a9116bd796 /src/stream/ngx_stream_proxy_module.c | |
parent | dac90a4bff8404e8097249a1ee444b77580f43ba (diff) | |
download | nginx-26a57486f013abff616be8345e542c15419f0759.tar.gz nginx-26a57486f013abff616be8345e542c15419f0759.zip |
Events: fixed handling zero-length client address.
On Linux recvmsg() syscall may return a zero-length client address when
receiving a datagram from an unbound unix datagram socket. It is usually
assumed that socket address has at least the sa_family member. Zero-length
socket address caused buffer over-read in functions which receive socket
address, for example ngx_sock_ntop(). Typically the over-read resulted in
unexpected socket family followed by session close. Now a fake socket address
is allocated instead of a zero-length client address.
Diffstat (limited to 'src/stream/ngx_stream_proxy_module.c')
0 files changed, 0 insertions, 0 deletions