Added
Link Here
|
1 |
--- src/lib/dns/name.cc.orig 2024-07-25 08:50:58 UTC |
2 |
+++ src/lib/dns/name.cc |
3 |
@@ -303,7 +303,7 @@ Name::Name(const std::string &namestring, bool downcas |
4 |
// And get the output |
5 |
labelcount_ = offsets.size(); |
6 |
isc_throw_assert(labelcount_ > 0 && labelcount_ <= Name::MAX_LABELS); |
7 |
- ndata_.assign(ndata.data(), ndata.size()); |
8 |
+ ndata_.assign(ndata.data(), ndata.data() + ndata.size()); |
9 |
length_ = ndata_.size(); |
10 |
offsets_.assign(offsets.begin(), offsets.end()); |
11 |
} |
12 |
@@ -336,7 +336,7 @@ Name::Name(const char* namedata, size_t data_len, cons |
13 |
// Get the output |
14 |
labelcount_ = offsets.size(); |
15 |
isc_throw_assert(labelcount_ > 0 && labelcount_ <= Name::MAX_LABELS); |
16 |
- ndata_.assign(ndata.data(), ndata.size()); |
17 |
+ ndata_.assign(ndata.data(), ndata.data() + ndata.size()); |
18 |
length_ = ndata_.size(); |
19 |
offsets_.assign(offsets.begin(), offsets.end()); |
20 |
|
21 |
@@ -347,7 +347,7 @@ Name::Name(const char* namedata, size_t data_len, cons |
22 |
// Drop the last character of the data (the \0) and append a copy of |
23 |
// the origin's data |
24 |
ndata_.erase(ndata_.end() - 1); |
25 |
- ndata_.append(origin->ndata_); |
26 |
+ ndata_.insert(ndata.end(), origin->ndata_.begin(), origin->ndata_.end()); |
27 |
|
28 |
// Do a similar thing with offsets. However, we need to move them |
29 |
// so they point after the prefix we parsed before. |
30 |
@@ -582,7 +582,7 @@ Name::concatenate(const Name& suffix) const { |
31 |
|
32 |
Name retname; |
33 |
retname.ndata_.reserve(length); |
34 |
- retname.ndata_.assign(ndata_, 0, length_ - 1); |
35 |
+ retname.ndata_.assign(ndata_.data(), ndata_.data() + length_ - 1); |
36 |
retname.ndata_.insert(retname.ndata_.end(), |
37 |
suffix.ndata_.begin(), suffix.ndata_.end()); |
38 |
isc_throw_assert(retname.ndata_.size() == length); |
39 |
@@ -622,7 +622,7 @@ Name::reverse() const { |
40 |
NameString::const_iterator n0 = ndata_.begin(); |
41 |
retname.offsets_.push_back(0); |
42 |
while (rit1 != offsets_.rend()) { |
43 |
- retname.ndata_.append(n0 + *rit1, n0 + *rit0); |
44 |
+ retname.ndata_.insert(retname.ndata_.end(), n0 + *rit1, n0 + *rit0); |
45 |
retname.offsets_.push_back(retname.ndata_.size()); |
46 |
++rit0; |
47 |
++rit1; |
48 |
@@ -662,7 +662,7 @@ Name::split(const unsigned int first, const unsigned i |
49 |
// original name, and append the trailing dot explicitly. |
50 |
// |
51 |
retname.ndata_.reserve(retname.offsets_.back() + 1); |
52 |
- retname.ndata_.assign(ndata_, offsets_[first], retname.offsets_.back()); |
53 |
+ retname.ndata_.assign(ndata_.data() + offsets_[first], ndata_.data() + retname.offsets_.back()); |
54 |
retname.ndata_.push_back(0); |
55 |
|
56 |
retname.length_ = retname.ndata_.size(); |