diff src/os/unix/ngx_udp_sendmsg_chain.c @ 7665:d127837c714f

Stream: fixed processing of zero length UDP packets (ticket #1982).
author Vladimir Homutov <vl@nginx.com>
date Mon, 08 Jun 2020 11:40:34 +0300
parents 8ce1a34f160b
children cfe1284e5d1d 2dfd313f22f2
line wrap: on
line diff
--- 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_
         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;