diff --git a/resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolver.java b/resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolver.java index 6206c28ac6..5ab6c5285e 100644 --- a/resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolver.java +++ b/resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolver.java @@ -374,7 +374,7 @@ public class DnsNameResolver extends InetNameResolver { default: throw new IllegalArgumentException("Unknown ResolvedAddressTypes " + resolvedAddressTypes); } - preferredAddressType = preferredAddressType(resolvedAddressTypes); + preferredAddressType = preferredAddressType(this.resolvedAddressTypes); this.authoritativeDnsServerCache = checkNotNull(authoritativeDnsServerCache, "authoritativeDnsServerCache"); nameServerComparator = new NameServerComparator(preferredAddressType.addressType()); diff --git a/resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java b/resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java index 2f473626a4..86b01c4de1 100644 --- a/resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java +++ b/resolver-dns/src/test/java/io/netty/resolver/dns/DnsNameResolverTest.java @@ -2403,4 +2403,27 @@ public class DnsNameResolverTest { } } } + + @Test + public void testInstanceWithNullPreferredAddressType() { + new DnsNameResolver( + group.next(), // eventLoop + new ReflectiveChannelFactory(NioDatagramChannel.class), // channelFactory + NoopDnsCache.INSTANCE, // resolveCache + NoopAuthoritativeDnsServerCache.INSTANCE, // authoritativeDnsServerCache + NoopDnsQueryLifecycleObserverFactory.INSTANCE, // dnsQueryLifecycleObserverFactory + 100, // queryTimeoutMillis + null, // resolvedAddressTypes, see https://github.com/netty/netty/pull/8445 + true, // recursionDesired + 1, // maxQueriesPerResolve + false, // traceEnabled + 4096, // maxPayloadSize + true, // optResourceEnabled + HostsFileEntriesResolver.DEFAULT, // hostsFileEntriesResolver + DnsServerAddressStreamProviders.platformDefault(), // dnsServerAddressStreamProvider + null, // searchDomains + 1, // ndots + true // decodeIdn + ).close(); + } }