]> git.kaiwu.me - nginx.git/commitdiff
QUIC: better sockaddr initialization.
authorMaxim Dounin <mdounin@mdounin.ru>
Sun, 21 May 2023 01:38:45 +0000 (04:38 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Sun, 21 May 2023 01:38:45 +0000 (04:38 +0300)
The qsock->sockaddr field is a ngx_sockaddr_t union, and therefore can hold
any sockaddr (and union members, such qsock->sockaddr.sockaddr, can be used
to access appropriate variant of the sockaddr).  It is better to set it via
qsock->sockaddr itself though, and not qsock->sockaddr.sockaddr, so static
analyzers won't complain about out-of-bounds access.

Prodded by Coverity (CID 1530403).

src/event/quic/ngx_event_quic_udp.c

index 71754a48b2e9d0a87660ea09204cb8dbe2b14f3b..15b54bc8226b60c839e367df79c83e0f415b894f 100644 (file)
@@ -183,7 +183,7 @@ ngx_quic_recvmsg(ngx_event_t *ev)
 
             qsock = ngx_quic_get_socket(c);
 
-            ngx_memcpy(&qsock->sockaddr.sockaddr, sockaddr, socklen);
+            ngx_memcpy(&qsock->sockaddr, sockaddr, socklen);
             qsock->socklen = socklen;
 
             c->udp->buffer = &buf;