[nginx] QUIC: better sockaddr initialization.

Sergey Kandaurov pluknet at nginx.com
Mon May 22 12:21:39 UTC 2023


details:   https://hg.nginx.org/nginx/rev/68fa4b86ed46
branches:  
changeset: 9111:68fa4b86ed46
user:      Maxim Dounin <mdounin at mdounin.ru>
date:      Sun May 21 04:38:45 2023 +0300
description:
QUIC: better sockaddr initialization.

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).

diffstat:

 src/event/quic/ngx_event_quic_udp.c |  2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diffs (12 lines):

diff -r 235d482ef6bc -r 68fa4b86ed46 src/event/quic/ngx_event_quic_udp.c
--- a/src/event/quic/ngx_event_quic_udp.c	Fri May 19 21:46:36 2023 +0400
+++ b/src/event/quic/ngx_event_quic_udp.c	Sun May 21 04:38:45 2023 +0300
@@ -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;


More information about the nginx-devel mailing list