Browse Source

[2094] make sure small size_t values should fit in 8 bits by assert.

JINMEI Tatuya 12 years ago
parent
commit
1d950e29ca
1 changed files with 2 additions and 0 deletions
  1. 2 0
      src/lib/datasrc/memory/rdata_encoder.cc

+ 2 - 0
src/lib/datasrc/memory/rdata_encoder.cc

@@ -310,9 +310,11 @@ encodeRdata(const rdata::Rdata& rdata, RRClass rrclass, RRType rrtype,
             const LabelSequence labels(name);
             size_t nlen;
             const uint8_t* ndata = labels.getData(&nlen);
+            assert(nlen < 256); // nlen should fit in 8 bits
             size_t olen;
             uint8_t offset_holder[Name::MAX_LABELS];
             labels.getOffsetData(&olen, offset_holder);
+            assert(olen < 256); // olen should fit in 8 bits
             data_result.push_back(nlen);
             data_result.push_back(olen);
             data_result.insert(data_result.end(), ndata, ndata + nlen);