]> git.kaiwu.me - nginx.git/commitdiff
QUIC: removed excessive check.
authorVladimir Homutov <vl@nginx.com>
Wed, 1 Dec 2021 15:33:29 +0000 (18:33 +0300)
committerVladimir Homutov <vl@nginx.com>
Wed, 1 Dec 2021 15:33:29 +0000 (18:33 +0300)
The c->udp->dgram may be NULL only if the quic connection was just
created: the ngx_event_udp_recvmsg() passes information about datagrams
to existing connections by providing information in c->udp.

If case of a new connection, c->udp is allocated by the QUIC code during
creation of quic connection (it uses c->sockaddr to initialize qsock->path).

Thus the check for qsock->path is excessive and can be read wrong, assuming
that other options possible, leading to warnings from clang static analyzer.

src/event/quic/ngx_event_quic_migration.c

index 887824573d26d5869688ae372caea44671aad14e..c3758ad4f0173027933ccfe0431bca160562887a 100644 (file)
@@ -289,7 +289,7 @@ ngx_quic_update_paths(ngx_connection_t *c, ngx_quic_header_t *pkt)
 
     qsock = ngx_quic_get_socket(c);
 
-    if (c->udp->dgram == NULL && qsock->path) {
+    if (c->udp->dgram == NULL) {
         /* 1st ever packet in connection, path already exists */
         path = qsock->path;
         goto update;