Browse Source

Do not log connection info before the connection exists

If the resolver encounters an error before it attempts to forward the
request to external DNS, do not try to log information about the
external connection, because at this point `extConn` is `nil`. This
makes sure `dockerd` won't panic and crash from a nil pointer
dereference when it sees an invalid DNS query.

fixes #44979

Signed-off-by: er0k <er0k@er0k.net>
(cherry picked from commit 6c2637be1142b2ed537795d960952414ffc73a58)
Signed-off-by: Bjorn Neergaard <bneergaard@mirantis.com>
er0k 2 năm trước cách đây
mục cha
commit
81f9f90e47
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      libnetwork/resolver.go

+ 1 - 1
libnetwork/resolver.go

@@ -398,7 +398,7 @@ func (r *resolver) ServeDNS(w dns.ResponseWriter, query *dns.Msg) {
 	}
 
 	if err != nil {
-		logrus.WithError(err).Errorf("[resolver] failed to handle query: %s (%s) from %s", queryName, dns.TypeToString[queryType], extConn.LocalAddr().String())
+		logrus.WithError(err).Errorf("[resolver] failed to handle query: %s (%s)", queryName, dns.TypeToString[queryType])
 		return
 	}