Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(85)

Unified Diff: net/dns/dns_config_service_win_unittest.cc

Issue 1132333003: Fix uninitialized reads in DnsConfigServiceWin tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/dns/dns_config_service_win.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/dns/dns_config_service_win_unittest.cc
diff --git a/net/dns/dns_config_service_win_unittest.cc b/net/dns/dns_config_service_win_unittest.cc
index dc521ecefb2a26e0112bc2f21ad753349e9760c8..9a98368b678018f6f3d47734339ff40443c4b90c 100644
--- a/net/dns/dns_config_service_win_unittest.cc
+++ b/net/dns/dns_config_service_win_unittest.cc
@@ -14,6 +14,44 @@ namespace net {
namespace {
+// Some simple structs without constructors to enable brace style
+// initialization in these tests.
+struct RegStringInit {
+ internal::DnsSystemSettings::RegString toRegString() const {
+ internal::DnsSystemSettings::RegString regString;
+ regString.set = set;
+ regString.value = value;
+ return regString;
+ }
+
+ bool set;
+ base::string16 value;
+};
+
+struct RegDwordInit {
+ internal::DnsSystemSettings::RegDword toRegDword() const {
+ internal::DnsSystemSettings::RegDword regDword;
+ regDword.set = set;
+ regDword.value = value;
+ return regDword;
+ }
+
+ bool set;
+ DWORD value;
+};
+
+struct DevolutionSettingInit {
+ internal::DnsSystemSettings::DevolutionSetting toDevolutionSetting() const {
+ internal::DnsSystemSettings::DevolutionSetting setting;
+ setting.enabled = enabled.toRegDword();
+ setting.level = level.toRegDword();
+ return setting;
+ }
+
+ RegDwordInit enabled;
+ RegDwordInit level;
+};
+
TEST(DnsConfigServiceWinTest, ParseSearchList) {
const struct TestCase {
const wchar_t* input;
@@ -205,13 +243,13 @@ TEST(DnsConfigServiceWinTest, ConvertSuffixSearch) {
const struct TestCase {
struct {
- internal::DnsSystemSettings::RegString policy_search_list;
- internal::DnsSystemSettings::RegString tcpip_search_list;
- internal::DnsSystemSettings::RegString tcpip_domain;
- internal::DnsSystemSettings::RegString primary_dns_suffix;
- internal::DnsSystemSettings::DevolutionSetting policy_devolution;
- internal::DnsSystemSettings::DevolutionSetting dnscache_devolution;
- internal::DnsSystemSettings::DevolutionSetting tcpip_devolution;
+ RegStringInit policy_search_list;
+ RegStringInit tcpip_search_list;
+ RegStringInit tcpip_domain;
+ RegStringInit primary_dns_suffix;
+ DevolutionSettingInit policy_devolution;
+ DevolutionSettingInit dnscache_devolution;
+ DevolutionSettingInit tcpip_devolution;
} input_settings;
std::string expected_search[5];
} cases[] = {
@@ -369,13 +407,19 @@ TEST(DnsConfigServiceWinTest, ConvertSuffixSearch) {
for (auto& t : cases) {
internal::DnsSystemSettings settings;
settings.addresses = CreateAdapterAddresses(infos);
- settings.policy_search_list = t.input_settings.policy_search_list;
- settings.tcpip_search_list = t.input_settings.tcpip_search_list;
- settings.tcpip_domain = t.input_settings.tcpip_domain;
- settings.primary_dns_suffix = t.input_settings.primary_dns_suffix;
- settings.policy_devolution = t.input_settings.policy_devolution;
- settings.dnscache_devolution = t.input_settings.dnscache_devolution;
- settings.tcpip_devolution = t.input_settings.tcpip_devolution;
+ settings.policy_search_list =
+ t.input_settings.policy_search_list.toRegString();
+ settings.tcpip_search_list =
+ t.input_settings.tcpip_search_list.toRegString();
+ settings.tcpip_domain = t.input_settings.tcpip_domain.toRegString();
+ settings.primary_dns_suffix =
+ t.input_settings.primary_dns_suffix.toRegString();
+ settings.policy_devolution =
+ t.input_settings.policy_devolution.toDevolutionSetting();
+ settings.dnscache_devolution =
+ t.input_settings.dnscache_devolution.toDevolutionSetting();
+ settings.tcpip_devolution =
+ t.input_settings.tcpip_devolution.toDevolutionSetting();
DnsConfig config;
EXPECT_EQ(internal::CONFIG_PARSE_WIN_OK,
@@ -398,7 +442,7 @@ TEST(DnsConfigServiceWinTest, AppendToMultiLabelName) {
bool default_value = (base::win::GetVersion() < base::win::VERSION_VISTA);
const struct TestCase {
- internal::DnsSystemSettings::RegDword input;
+ RegDwordInit input;
bool expected_output;
} cases[] = {
{ { true, 0 }, false },
@@ -409,7 +453,7 @@ TEST(DnsConfigServiceWinTest, AppendToMultiLabelName) {
for (const auto& t : cases) {
internal::DnsSystemSettings settings;
settings.addresses = CreateAdapterAddresses(infos);
- settings.append_to_multi_label_name = t.input;
+ settings.append_to_multi_label_name = t.input.toRegDword();
DnsConfig config;
EXPECT_EQ(internal::CONFIG_PARSE_WIN_OK,
internal::ConvertSettingsToDnsConfig(settings, &config));
« no previous file with comments | « net/dns/dns_config_service_win.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698