BIND 10 trac2512, updated. 8d831e948945c913ac59424fa549fd7e2f18b117 [2512] Add some comments

BIND 10 source code commits bind10-changes at lists.isc.org
Tue Feb 18 12:25:01 UTC 2014


The branch, trac2512 has been updated
       via  8d831e948945c913ac59424fa549fd7e2f18b117 (commit)
       via  5b61be1e6e567272b7bc372db457e2d1db1ddd49 (commit)
       via  8c77a05c8564a26113933d9cba6d5019cf1e75eb (commit)
      from  a6a6cb2e33f807593e6d457bfc822a9c31ef211e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8d831e948945c913ac59424fa549fd7e2f18b117
Author: Mukund Sivaraman <muks at isc.org>
Date:   Tue Feb 18 17:51:45 2014 +0530

    [2512] Add some comments

commit 5b61be1e6e567272b7bc372db457e2d1db1ddd49
Author: Mukund Sivaraman <muks at isc.org>
Date:   Tue Feb 18 17:51:31 2014 +0530

    [2512] Update assert() to a gtest ASSERT

commit 8c77a05c8564a26113933d9cba6d5019cf1e75eb
Author: Mukund Sivaraman <muks at isc.org>
Date:   Tue Feb 18 10:46:09 2014 +0530

    [2512] Combine resize() call with the constructor

-----------------------------------------------------------------------

Summary of changes:
 src/lib/dns/rdata/generic/caa_257.cc               |    3 +--
 src/lib/dns/rdata/generic/detail/char_string.cc    |    6 ++++++
 .../dns/tests/rdata_char_string_data_unittest.cc   |    2 +-
 3 files changed, 8 insertions(+), 3 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/lib/dns/rdata/generic/caa_257.cc b/src/lib/dns/rdata/generic/caa_257.cc
index 9e6fa9b..7d46a57 100644
--- a/src/lib/dns/rdata/generic/caa_257.cc
+++ b/src/lib/dns/rdata/generic/caa_257.cc
@@ -169,8 +169,7 @@ CAA::CAA(InputBuffer& buffer, size_t rdata_len) {
                   "RDATA is too short for CAA tag field");
     }
 
-    vector<uint8_t> tag_vec;
-    tag_vec.resize(tag_length);
+    std::vector<uint8_t> tag_vec(tag_length);
     buffer.readData(&tag_vec[0], tag_length);
     std::string tag(tag_vec.begin(), tag_vec.end());
     rdata_len -= tag_length;
diff --git a/src/lib/dns/rdata/generic/detail/char_string.cc b/src/lib/dns/rdata/generic/detail/char_string.cc
index 16b281d..328fa7b 100644
--- a/src/lib/dns/rdata/generic/detail/char_string.cc
+++ b/src/lib/dns/rdata/generic/detail/char_string.cc
@@ -105,7 +105,13 @@ stringToCharStringData(const MasterToken::StringRegion& str_region,
         int c = (*s & 0xff);
         if (escape && std::isdigit(c) != 0) {
             c = decimalToNumber(s, s_end);
+            // decimalToNumber() already throws if (s_end - s) is less
+            // than 3, so the following assertion is unnecessary. But we
+            // assert it anyway. 'n' is an unsigned type (size_t) and
+            // can underflow.
             assert(n >= 3);
+            // 'n' and 's' are also updated by 1 in the for statement's
+            // expression, so we update them by 2 instead of 3 here.
             n -= 2;
             s += 2;
         } else if (!escape && c == '\\') {
diff --git a/src/lib/dns/tests/rdata_char_string_data_unittest.cc b/src/lib/dns/tests/rdata_char_string_data_unittest.cc
index 6f05936..88a00a9 100644
--- a/src/lib/dns/tests/rdata_char_string_data_unittest.cc
+++ b/src/lib/dns/tests/rdata_char_string_data_unittest.cc
@@ -145,7 +145,7 @@ TEST_F(CharStringDataTest, charStringDataToString) {
     for (const TestData* cur = conversion_data; cur->data != NULL; ++cur) {
         uint8_t idata[32];
         size_t length = std::strlen(cur->data);
-        assert(sizeof(idata) >= length);
+        ASSERT_LT(length, sizeof(idata));
         std::memcpy(idata, cur->data, length);
         const CharStringData test_data(idata, idata + length);
         EXPECT_EQ(cur->expected, charStringDataToString(test_data));



More information about the bind10-changes mailing list