]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2094] make sure small size_t values should fit in 8 bits by assert.
authorJINMEI Tatuya <jinmei@isc.org>
Fri, 20 Jul 2012 16:37:19 +0000 (09:37 -0700)
committerJINMEI Tatuya <jinmei@isc.org>
Fri, 20 Jul 2012 16:37:19 +0000 (09:37 -0700)
src/lib/datasrc/memory/rdata_encoder.cc

index 21bf6ba0ac8bb2bae7ded9b07272b95feb4e7a87..6a32ce911b995bb9ab0f31e7c2db93f73981272a 100644 (file)
@@ -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);