From 58d1412f0df08a90cc4df9bb3e5fb8a550daf63e Mon Sep 17 00:00:00 2001 From: Vladimir Homutov Date: Mon, 8 Jun 2020 11:40:34 +0300 Subject: Stream: fixed processing of zero length UDP packets (ticket #1982). --- src/os/unix/ngx_udp_sendmsg_chain.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/os/unix/ngx_udp_sendmsg_chain.c') diff --git a/src/os/unix/ngx_udp_sendmsg_chain.c b/src/os/unix/ngx_udp_sendmsg_chain.c index 5399c7916..3d1d6dde4 100644 --- a/src/os/unix/ngx_udp_sendmsg_chain.c +++ b/src/os/unix/ngx_udp_sendmsg_chain.c @@ -189,6 +189,13 @@ ngx_udp_output_chain_to_iovec(ngx_iovec_t *vec, ngx_chain_t *in, ngx_log_t *log) return cl; } + /* zero-sized datagram; pretend to have at least 1 iov */ + if (n == 0) { + iov = &vec->iovs[n++]; + iov->iov_base = NULL; + iov->iov_len = 0; + } + vec->count = n; vec->size = total; -- cgit v1.2.3