]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
credentials: Explicitly clear credentials once they have been moved 12428/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 17 Jan 2023 16:52:09 +0000 (17:52 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 17 Jan 2023 16:52:09 +0000 (17:52 +0100)
pdns/credentials.cc

index ef37eaee6cf3585d22a227f5c8a02017456d83a2..b086788a5ff418cba95e1fc47c1ec295392ab294 100644 (file)
@@ -62,6 +62,7 @@ uint64_t const CredentialsHolder::s_defaultBlockSize{8U}; /* r */
 SensitiveData::SensitiveData(std::string&& data) :
   d_data(std::move(data))
 {
+  data.clear();
 #ifdef HAVE_LIBSODIUM
   sodium_mlock(d_data.data(), d_data.size());
 #endif
@@ -70,6 +71,7 @@ SensitiveData::SensitiveData(std::string&& data) :
 SensitiveData& SensitiveData::operator=(SensitiveData&& rhs)
 {
   d_data = std::move(rhs.d_data);
+  rhs.clear();
   return *this;
 }