From 80148955f82c205cc94f0112e0fbfe8f91bc4330 Mon Sep 17 00:00:00 2001 From: Tobias Weimer Date: Mon, 25 Jan 2016 21:20:35 +0000 Subject: 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 --- plugins/CryptoPP/src/cpp_rsam.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'plugins/CryptoPP/src/cpp_rsam.cpp') 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: // разрыв соединения вручную { -- cgit v1.2.3