]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Apply suggestions from code review 9590/head
authorOtto Moerbeek <otto@drijf.net>
Tue, 6 Oct 2020 11:24:45 +0000 (13:24 +0200)
committerGitHub <noreply@github.com>
Tue, 6 Oct 2020 11:24:45 +0000 (13:24 +0200)
Co-authored-by: Remi Gacogne <rgacogne+github@valombre.net>
pdns/opensslsigners.cc

index 296b7f38ea8013d50308c9c803af8a448b218f0b..7a9e5b742e29b82bf5b7c7b083094582d07d279c 100644 (file)
@@ -194,7 +194,7 @@ public:
   bool verify(const std::string& hash, const std::string& signature) const override;
   std::string getPubKeyHash() const override;
   std::string getPublicKeyString() const override;
-  std::unique_ptr<BIGNUM, void(*)(BIGNUM*)>parse(std::map<std::string, std::string>& stormap, const std::string& key);
+  std::unique_ptr<BIGNUM, void(*)(BIGNUM*)>parse(std::map<std::string, std::string>& stormap, const std::string& key) const;
   void fromISCMap(DNSKEYRecordContent& drc, std::map<std::string, std::string>& stormap) override;
   void fromPublicKeyString(const std::string& content) override;
   bool checkKey(vector<string> *errorMessages) const override;
@@ -430,10 +430,10 @@ std::string OpenSSLRSADNSCryptoKeyEngine::getPublicKeyString() const
 }
 
 
-std::unique_ptr<BIGNUM, void(*)(BIGNUM*)>OpenSSLRSADNSCryptoKeyEngine::parse(std::map<std::string, std::string>& stormap, const std::string& key)
+std::unique_ptr<BIGNUM, void(*)(BIGNUM*)>OpenSSLRSADNSCryptoKeyEngine::parse(std::map<std::string, std::string>& stormap, const std::string& key) const
 {
-  const std::string& v = stormap[key];
-  auto n = std::unique_ptr<BIGNUM, void(*)(BIGNUM*)>(BN_bin2bn((const unsigned char*)v.c_str(), v.length(), nullptr), BN_clear_free);
+  const std::string& v = stormap.at(key);
+  auto n = std::unique_ptr<BIGNUM, void(*)(BIGNUM*)>(BN_bin2bn(reinterpret_cast<const unsigned char*>(v.data()), v.length(), nullptr), BN_clear_free);
 
   if (!n) {
     throw runtime_error(getName() + " parsing of " + key + " failed");