diff options
author | Tobias Weimer <wishmaster51@googlemail.com> | 2016-01-25 21:20:35 +0000 |
---|---|---|
committer | Tobias Weimer <wishmaster51@googlemail.com> | 2016-01-25 21:20:35 +0000 |
commit | 80148955f82c205cc94f0112e0fbfe8f91bc4330 (patch) | |
tree | 252a0ae41cdb2ad3d798e311fb728b04e5bdbdbd /plugins/CryptoPP/src/cpp_rsam.cpp | |
parent | a289103f2834d2219799f8d84e29a6d69c00574a (diff) |
Crypto++: Fix for many memory leaks introduced in [6593].
Note that replaceStr already does mir_strdup the argument!
git-svn-id: http://svn.miranda-ng.org/main/trunk@16168 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/CryptoPP/src/cpp_rsam.cpp')
-rw-r--r-- | plugins/CryptoPP/src/cpp_rsam.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/plugins/CryptoPP/src/cpp_rsam.cpp b/plugins/CryptoPP/src/cpp_rsam.cpp index f20d1c399c..ebf0564bc6 100644 --- a/plugins/CryptoPP/src/cpp_rsam.cpp +++ b/plugins/CryptoPP/src/cpp_rsam.cpp @@ -408,27 +408,27 @@ LPSTR __cdecl rsa_recv(HANDLE context, LPCSTR msg) case 0x70: // получили AES сообщение, декодируем
{
+ mir_free(ptr->tmp);
string msg = decode_msg(p, data);
if (msg.length())
- replaceStr(ptr->tmp, mir_strdup(msg.c_str()));
+ return ptr->tmp = mir_strdup(msg.c_str());
else {
imp->rsa_notify(context, -5); // ошибка декодирования AES сообщения
- replaceStr(ptr->tmp, NULL);
+ return ptr->tmp = NULL;
}
}
- return ptr->tmp;
case 0xE0: // получили RSA сообщение, декодируем
{
+ mir_free(ptr->tmp);
string msg = decode_rsa(p, r, data);
if (msg.length())
- replaceStr(ptr->tmp, mir_strdup(msg.c_str()));
+ return ptr->tmp = mir_strdup(msg.c_str());
else {
imp->rsa_notify(context, -6); // ошибка декодирования RSA сообщения
- replaceStr(ptr->tmp, NULL);
+ return ptr->tmp = NULL;
}
}
- return ptr->tmp;
case 0xF0: // разрыв соединения вручную
{
|