diff --git a/libretroshare/src/pqi/p3cfgmgr.cc b/libretroshare/src/pqi/p3cfgmgr.cc index 03a3f720e..7c2d976b3 100644 --- a/libretroshare/src/pqi/p3cfgmgr.cc +++ b/libretroshare/src/pqi/p3cfgmgr.cc @@ -304,7 +304,11 @@ bool p3Config::loadAttempt(const std::string& cfgFname,const std::string& signFn /* set hash */ setHash(bio->gethash()); - BinMemInterface *signbio = new BinMemInterface(1000, BIN_FLAGS_READABLE); + std::string signatureRead; + RsFileHash strHash(Hash()); + AuthSSL::getAuthSSL()->SignData(strHash.toByteArray(), RsFileHash::SIZE_IN_BYTES, signatureRead); + + BinMemInterface *signbio = new BinMemInterface(signatureRead.size(), BIN_FLAGS_READABLE); if(!signbio->readfromfile(signFname.c_str())) { @@ -314,10 +318,6 @@ bool p3Config::loadAttempt(const std::string& cfgFname,const std::string& signFn std::string signatureStored((char *) signbio->memptr(), signbio->memsize()); - std::string signatureRead; - RsFileHash strHash(Hash()); - AuthSSL::getAuthSSL()->SignData(strHash.toByteArray(), RsFileHash::SIZE_IN_BYTES, signatureRead); - delete signbio; if(signatureRead != signatureStored)