lic: Remove unique_ptr in LicenseChecker to avoid crash on destruction

This commit is contained in:
Eberhard Graether
2019-05-27 13:07:48 +02:00
parent 82fcd4f673
commit f087d7e5ea
2 changed files with 4 additions and 5 deletions
+3 -3
View File
@@ -17,7 +17,7 @@
#include "PublicKey.h" #include "PublicKey.h"
std::string LicenseChecker::s_encodeKey; std::string LicenseChecker::s_encodeKey;
std::unique_ptr<Botan::RSA_PublicKey> LicenseChecker::s_publicKey; Botan::RSA_PublicKey* LicenseChecker::s_publicKey = nullptr;
std::unique_ptr<License> LicenseChecker::s_currentLicense; std::unique_ptr<License> LicenseChecker::s_currentLicense;
void LicenseChecker::setEncodeKey(const std::string& key) void LicenseChecker::setEncodeKey(const std::string& key)
@@ -212,7 +212,7 @@ LicenseChecker::LicenseState LicenseChecker::checkLicense(const License& license
try try
{ {
Botan::PK_Verifier verifier(*s_publicKey.get(), "EMSA4(SHA-256)"); Botan::PK_Verifier verifier(*s_publicKey, "EMSA4(SHA-256)");
Botan::DataSource_Memory in(message); Botan::DataSource_Memory in(message);
Botan::byte buffer[4096] = { 0 }; Botan::byte buffer[4096] = { 0 };
@@ -331,6 +331,6 @@ bool LicenseChecker::createPublicKey(Botan::RSA_PublicKey *rsaPublicKey)
return false; return false;
} }
s_publicKey = std::unique_ptr<Botan::RSA_PublicKey>(rsaPublicKey); s_publicKey = rsaPublicKey;
return true; return true;
} }
+1 -2
View File
@@ -10,7 +10,6 @@
namespace Botan namespace Botan
{ {
class RSA_PublicKey; class RSA_PublicKey;
class AutoSeeded_RNG;
} }
class LicenseChecker class LicenseChecker
@@ -53,7 +52,7 @@ private:
static bool createPublicKey(Botan::RSA_PublicKey *rsaPublicKey); static bool createPublicKey(Botan::RSA_PublicKey *rsaPublicKey);
static std::string s_encodeKey; static std::string s_encodeKey;
static std::unique_ptr<Botan::RSA_PublicKey> s_publicKey; static Botan::RSA_PublicKey* s_publicKey; // Intentional memory leak, because destruction can cause crash
static std::unique_ptr<License> s_currentLicense; static std::unique_ptr<License> s_currentLicense;
}; };