resolved: assert t->server is set in dns_transaction_emit_tcp.
authorFilipe Brandenburger <filbranden@google.com>
Tue, 12 Jun 2018 19:52:39 +0000 (12:52 -0700)
committerLennart Poettering <lennart@poettering.net>
Mon, 25 Jun 2018 11:17:25 +0000 (13:17 +0200)
Uncovered by Coverity. Fixes CID 1393390.

src/resolve/resolved-dns-transaction.c

index 5805546..36f9609 100644 (file)
@@ -653,6 +653,8 @@ static int dns_transaction_emit_tcp(DnsTransaction *t) {
 
 #if ENABLE_DNS_OVER_TLS
                 if (DNS_SERVER_FEATURE_LEVEL_IS_TLS(t->current_feature_level)) {
+                        assert(t->server);
+
                         r = gnutls_init(&gs, GNUTLS_CLIENT | GNUTLS_ENABLE_FALSE_START | GNUTLS_NONBLOCK);
                         if (r < 0)
                                 return r;
@@ -666,7 +668,7 @@ static int dns_transaction_emit_tcp(DnsTransaction *t) {
                         if (r < 0)
                                 return r;
 
-                        if (t->server && t->server->tls_session_data.size > 0)
+                        if (t->server->tls_session_data.size > 0)
                                 gnutls_session_set_data(gs, t->server->tls_session_data.data, t->server->tls_session_data.size);
 
                         gnutls_handshake_set_timeout(gs, GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT);