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

Unified Diff: net/dns/record_rdata_unittest.cc

Issue 2118383006: Fix "conversion of size_t to unsigned int" warning (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addresses final comments from Ryan Created 4 years, 5 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/record_rdata.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/dns/record_rdata_unittest.cc
diff --git a/net/dns/record_rdata_unittest.cc b/net/dns/record_rdata_unittest.cc
index c41e39aa5e6f3d186a69036a79d2a096e2345596..f73853ed5a7b3521c2cc59231f8abc9cfbb6435a 100644
--- a/net/dns/record_rdata_unittest.cc
+++ b/net/dns/record_rdata_unittest.cc
@@ -17,9 +17,6 @@ base::StringPiece MakeStringPiece(const uint8_t* data, unsigned size) {
}
TEST(RecordRdataTest, ParseSrvRecord) {
- std::unique_ptr<SrvRecordRdata> record1_obj;
- std::unique_ptr<SrvRecordRdata> record2_obj;
-
// These are just the rdata portions of the DNS records, rather than complete
// records, but it works well enough for this test.
@@ -40,7 +37,8 @@ TEST(RecordRdataTest, ParseSrvRecord) {
base::StringPiece record2_strpiece = MakeStringPiece(
record + first_record_len, sizeof(record) - first_record_len);
- record1_obj = SrvRecordRdata::Create(record1_strpiece, parser);
+ std::unique_ptr<SrvRecordRdata> record1_obj =
+ SrvRecordRdata::Create(record1_strpiece, parser);
ASSERT_TRUE(record1_obj != NULL);
ASSERT_EQ(1, record1_obj->priority());
ASSERT_EQ(2, record1_obj->weight());
@@ -48,7 +46,8 @@ TEST(RecordRdataTest, ParseSrvRecord) {
ASSERT_EQ("www.google.com", record1_obj->target());
- record2_obj = SrvRecordRdata::Create(record2_strpiece, parser);
+ std::unique_ptr<SrvRecordRdata> record2_obj =
+ SrvRecordRdata::Create(record2_strpiece, parser);
ASSERT_TRUE(record2_obj != NULL);
ASSERT_EQ(257, record2_obj->priority());
ASSERT_EQ(258, record2_obj->weight());
@@ -61,8 +60,6 @@ TEST(RecordRdataTest, ParseSrvRecord) {
}
TEST(RecordRdataTest, ParseARecord) {
- std::unique_ptr<ARecordRdata> record_obj;
-
// These are just the rdata portions of the DNS records, rather than complete
// records, but it works well enough for this test.
@@ -73,7 +70,8 @@ TEST(RecordRdataTest, ParseARecord) {
DnsRecordParser parser(record, sizeof(record), 0);
base::StringPiece record_strpiece = MakeStringPiece(record, sizeof(record));
- record_obj = ARecordRdata::Create(record_strpiece, parser);
+ std::unique_ptr<ARecordRdata> record_obj =
+ ARecordRdata::Create(record_strpiece, parser);
ASSERT_TRUE(record_obj != NULL);
ASSERT_EQ("127.0.0.1", record_obj->address().ToString());
@@ -82,8 +80,6 @@ TEST(RecordRdataTest, ParseARecord) {
}
TEST(RecordRdataTest, ParseAAAARecord) {
- std::unique_ptr<AAAARecordRdata> record_obj;
-
// These are just the rdata portions of the DNS records, rather than complete
// records, but it works well enough for this test.
@@ -95,7 +91,8 @@ TEST(RecordRdataTest, ParseAAAARecord) {
DnsRecordParser parser(record, sizeof(record), 0);
base::StringPiece record_strpiece = MakeStringPiece(record, sizeof(record));
- record_obj = AAAARecordRdata::Create(record_strpiece, parser);
+ std::unique_ptr<AAAARecordRdata> record_obj =
+ AAAARecordRdata::Create(record_strpiece, parser);
ASSERT_TRUE(record_obj != NULL);
ASSERT_EQ("1234:5678::9", record_obj->address().ToString());
@@ -104,8 +101,6 @@ TEST(RecordRdataTest, ParseAAAARecord) {
}
TEST(RecordRdataTest, ParseCnameRecord) {
- std::unique_ptr<CnameRecordRdata> record_obj;
-
// These are just the rdata portions of the DNS records, rather than complete
// records, but it works well enough for this test.
@@ -115,7 +110,8 @@ TEST(RecordRdataTest, ParseCnameRecord) {
DnsRecordParser parser(record, sizeof(record), 0);
base::StringPiece record_strpiece = MakeStringPiece(record, sizeof(record));
- record_obj = CnameRecordRdata::Create(record_strpiece, parser);
+ std::unique_ptr<CnameRecordRdata> record_obj =
+ CnameRecordRdata::Create(record_strpiece, parser);
ASSERT_TRUE(record_obj != NULL);
ASSERT_EQ("www.google.com", record_obj->cname());
@@ -124,8 +120,6 @@ TEST(RecordRdataTest, ParseCnameRecord) {
}
TEST(RecordRdataTest, ParsePtrRecord) {
- std::unique_ptr<PtrRecordRdata> record_obj;
-
// These are just the rdata portions of the DNS records, rather than complete
// records, but it works well enough for this test.
@@ -135,7 +129,8 @@ TEST(RecordRdataTest, ParsePtrRecord) {
DnsRecordParser parser(record, sizeof(record), 0);
base::StringPiece record_strpiece = MakeStringPiece(record, sizeof(record));
- record_obj = PtrRecordRdata::Create(record_strpiece, parser);
+ std::unique_ptr<PtrRecordRdata> record_obj =
+ PtrRecordRdata::Create(record_strpiece, parser);
ASSERT_TRUE(record_obj != NULL);
ASSERT_EQ("www.google.com", record_obj->ptrdomain());
@@ -144,8 +139,6 @@ TEST(RecordRdataTest, ParsePtrRecord) {
}
TEST(RecordRdataTest, ParseTxtRecord) {
- std::unique_ptr<TxtRecordRdata> record_obj;
-
// These are just the rdata portions of the DNS records, rather than complete
// records, but it works well enough for this test.
@@ -155,7 +148,8 @@ TEST(RecordRdataTest, ParseTxtRecord) {
DnsRecordParser parser(record, sizeof(record), 0);
base::StringPiece record_strpiece = MakeStringPiece(record, sizeof(record));
- record_obj = TxtRecordRdata::Create(record_strpiece, parser);
+ std::unique_ptr<TxtRecordRdata> record_obj =
+ TxtRecordRdata::Create(record_strpiece, parser);
ASSERT_TRUE(record_obj != NULL);
std::vector<std::string> expected;
@@ -169,8 +163,6 @@ TEST(RecordRdataTest, ParseTxtRecord) {
}
TEST(RecordRdataTest, ParseNsecRecord) {
- std::unique_ptr<NsecRecordRdata> record_obj;
-
// These are just the rdata portions of the DNS records, rather than complete
// records, but it works well enough for this test.
@@ -181,7 +173,8 @@ TEST(RecordRdataTest, ParseNsecRecord) {
DnsRecordParser parser(record, sizeof(record), 0);
base::StringPiece record_strpiece = MakeStringPiece(record, sizeof(record));
- record_obj = NsecRecordRdata::Create(record_strpiece, parser);
+ std::unique_ptr<NsecRecordRdata> record_obj =
+ NsecRecordRdata::Create(record_strpiece, parser);
ASSERT_TRUE(record_obj != NULL);
ASSERT_EQ(16u, record_obj->bitmap_length());
@@ -196,5 +189,39 @@ TEST(RecordRdataTest, ParseNsecRecord) {
ASSERT_TRUE(record_obj->IsEqual(record_obj.get()));
}
+TEST(RecordRdataTest, CreateNsecRecordWithEmptyBitmapReturnsNull) {
+ // These are just the rdata portions of the DNS records, rather than complete
+ // records, but it works well enough for this test.
+ // This record has a bitmap that is 0 bytes long.
+ const uint8_t record[] = {0x03, 'w', 'w', 'w', 0x06, 'g', 'o', 'o', 'g',
+ 'l', 'e', 0x03, 'c', 'o', 'm', 0x00, 0x00, 0x00};
+
+ DnsRecordParser parser(record, sizeof(record), 0);
+ base::StringPiece record_strpiece = MakeStringPiece(record, sizeof(record));
+
+ std::unique_ptr<NsecRecordRdata> record_obj =
+ NsecRecordRdata::Create(record_strpiece, parser);
+ ASSERT_FALSE(record_obj);
+}
+
+TEST(RecordRdataTest, CreateNsecRecordWithOversizedBitmapReturnsNull) {
+ // These are just the rdata portions of the DNS records, rather than complete
+ // records, but it works well enough for this test.
+ // This record has a bitmap that is 33 bytes long. The maximum size allowed by
+ // RFC 3845, Section 2.1.2, is 32 bytes.
+ const uint8_t record[] = {
+ 0x03, 'w', 'w', 'w', 0x06, 'g', 'o', 'o', 'g', 'l', 'e',
+ 0x03, 'c', 'o', 'm', 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+ DnsRecordParser parser(record, sizeof(record), 0);
+ base::StringPiece record_strpiece = MakeStringPiece(record, sizeof(record));
+
+ std::unique_ptr<NsecRecordRdata> record_obj =
+ NsecRecordRdata::Create(record_strpiece, parser);
+ ASSERT_FALSE(record_obj);
+}
} // namespace net
« no previous file with comments | « net/dns/record_rdata.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698