When a connection is created, enough memory is allocated to accomodate
any future address change.
void
ngx_event_recvmsg(ngx_event_t *ev)
{
+ size_t len;
ssize_t n;
ngx_str_t key;
ngx_buf_t buf;
return;
}
- c->sockaddr = ngx_palloc(c->pool, socklen);
+ len = socklen;
+
+#if (NGX_QUIC)
+ if (ls->quic) {
+ len = NGX_SOCKADDRLEN;
+ }
+#endif
+
+ c->sockaddr = ngx_palloc(c->pool, len);
if (c->sockaddr == NULL) {
ngx_close_accepted_udp_connection(c);
return;
}
#endif
- if (c->socklen < socklen) {
- c->sockaddr = ngx_palloc(c->pool, socklen);
- if (c->sockaddr == NULL) {
- return c;
- }
- }
-
ngx_memcpy(c->sockaddr, sockaddr, socklen);
c->socklen = socklen;
}