From: Mukund Sivaraman Date: Mon, 24 Sep 2012 07:07:41 +0000 (+0530) Subject: [2218] Check for zero length salts when NSEC3PARAM is processed during load X-Git-Tag: trac2351_base~37^2~1^2~3^2~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e5f7c1b89ed635155aa022f6a14285657b152a1c;p=thirdparty%2Fkea.git [2218] Check for zero length salts when NSEC3PARAM is processed during load --- diff --git a/src/lib/datasrc/memory/memory_client.cc b/src/lib/datasrc/memory/memory_client.cc index 03ff6cdb7f..8497d99ac2 100644 --- a/src/lib/datasrc/memory/memory_client.cc +++ b/src/lib/datasrc/memory/memory_client.cc @@ -446,7 +446,13 @@ public: if ((param.getHashalg() != nsec3_data->hashalg) || (param.getIterations() != nsec3_data->iterations) || - (salt_data_2.size() != salt_len) || + (salt_data_2.size() != salt_len)) { + isc_throw(AddError, + "NSEC3PARAM with inconsistent parameters: " + << last_rrset_->toText()); + } + + if ((salt_len > 0) && (std::memcmp(&salt_data_2[0], salt_data, salt_len) != 0)) { isc_throw(AddError,