| Index: net/dns/dns_config_service_posix_unittest.cc
|
| diff --git a/net/dns/dns_config_service_posix_unittest.cc b/net/dns/dns_config_service_posix_unittest.cc
|
| index 227128097b4c71d139e18cde3107d3be44b3285b..e1e23380f68cc72494679e22cc593911bfc96650 100644
|
| --- a/net/dns/dns_config_service_posix_unittest.cc
|
| +++ b/net/dns/dns_config_service_posix_unittest.cc
|
| @@ -122,5 +122,29 @@ TEST(DnsConfigServicePosixTest, ConvertResStateToDnsConfig) {
|
| EXPECT_TRUE(expected_config.EqualsIgnoreHosts(config));
|
| }
|
|
|
| +TEST(DnsConfigServicePosixTest, RejectEmptyNameserver) {
|
| + struct __res_state res = {};
|
| + res.options = RES_INIT;
|
| + const char kDnsrch[] = "chromium.org";
|
| + memcpy(res.defdname, kDnsrch, sizeof(kDnsrch));
|
| + res.dnsrch[0] = res.defdname;
|
| +
|
| + struct sockaddr_in sa = {};
|
| + sa.sin_family = AF_INET;
|
| + sa.sin_port = base::HostToNet16(NS_DEFAULTPORT);
|
| + sa.sin_addr.s_addr = INADDR_ANY;
|
| + res.nsaddr_list[0] = sa;
|
| + sa.sin_addr.s_addr = 0xCAFE1337;
|
| + res.nsaddr_list[1] = sa;
|
| + res.nscount = 2;
|
| +
|
| + DnsConfig config;
|
| + EXPECT_FALSE(internal::ConvertResStateToDnsConfig(res, &config));
|
| +
|
| + sa.sin_addr.s_addr = 0xDEADBEEF;
|
| + res.nsaddr_list[0] = sa;
|
| + EXPECT_TRUE(internal::ConvertResStateToDnsConfig(res, &config));
|
| +}
|
| +
|
| } // namespace
|
| } // namespace net
|
|
|