Index: src/ClientCreditsList.cpp =================================================================== --- src/ClientCreditsList.cpp (revision 8029) +++ src/ClientCreditsList.cpp (working copy) @@ -263,12 +263,12 @@ privkey.Initialize(rng,RSAKEYSIZE); // Nothing we can do against this filename2char :/ - CryptoPP::Base64Encoder privkeysink(new CryptoPP::FileSink(filename2char(theApp->ConfigDir + CRYPTKEY_FILENAME))); - - privkey.DEREncode(privkeysink); - - privkeysink.MessageEnd(); - + wxCharBuffer filename = filename2char(theApp->ConfigDir + CRYPTKEY_FILENAME); + CryptoPP::FileSink *fileSink = new CryptoPP::FileSink(filename); + CryptoPP::Base64Encoder *privkeysink = new CryptoPP::Base64Encoder(fileSink); + privkey.DEREncode(*privkeysink); + privkeysink->MessageEnd(); + delete privkeysink; AddDebugLogLineM( true, logCredits, wxT("Created new RSA keypair")); } catch(const CryptoPP::Exception& e) { AddDebugLogLineM(true, logCredits, wxString(wxT("Failed to create new RSA keypair: ")) + char 2unicode(e.what()));