From: JINMEI Tatuya Date: Fri, 20 Jul 2012 16:37:19 +0000 (-0700) Subject: [2094] make sure small size_t values should fit in 8 bits by assert. X-Git-Tag: trac2351_base~158^2~16^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1d950e29cae11777bc459fcb930acd0a10d0be11;p=thirdparty%2Fkea.git [2094] make sure small size_t values should fit in 8 bits by assert. --- diff --git a/src/lib/datasrc/memory/rdata_encoder.cc b/src/lib/datasrc/memory/rdata_encoder.cc index 21bf6ba0ac..6a32ce911b 100644 --- a/src/lib/datasrc/memory/rdata_encoder.cc +++ b/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);