diff options
| author | 2017-03-09 19:19:07 -0500 | |
|---|---|---|
| committer | 2017-03-09 19:19:07 -0500 | |
| commit | 2d5fd9def3a59489561ca53dd933ca7e86342ba7 (patch) | |
| tree | dd5d754f1852aa4ab4c8f365afa820e8333c9c76 /src/modules | |
| parent | RegisteredUsersDialog: Fix memory leak in exportClicked (diff) | |
| download | KVIrc-2d5fd9def3a59489561ca53dd933ca7e86342ba7.tar.gz KVIrc-2d5fd9def3a59489561ca53dd933ca7e86342ba7.tar.bz2 KVIrc-2d5fd9def3a59489561ca53dd933ca7e86342ba7.zip | |
rijndael module: Fix potential memory leak and invalid length check
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/rijndael/libkvirijndael.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/modules/rijndael/libkvirijndael.cpp b/src/modules/rijndael/libkvirijndael.cpp index 73f02b6ce..f8443b7b9 100644 --- a/src/modules/rijndael/libkvirijndael.cpp +++ b/src/modules/rijndael/libkvirijndael.cpp @@ -249,6 +249,8 @@ KviCryptEngine::EncryptResult KviRijndaelEngine::encrypt(const char * plainText, int retVal = m_pEncryptCipher->padEncrypt((const unsigned char *)plainText, len, (unsigned char *)buf, iv); if(retVal < 0) { + if(m_bEncryptMode == CBC) + KviMemory::free(iv); KviMemory::free(buf); setLastErrorFromRijndaelErrorCode(retVal); return KviCryptEngine::EncryptError; @@ -388,7 +390,7 @@ bool KviRijndaelBase64Engine::asciiToBinary(const char * inBuffer, int * len, ch } else { - if(len > nullptr) + if(*len > 0) { *outBuffer = (char *)KviMemory::allocate(*len); KviMemory::move(*outBuffer, tmpBuf, *len); |
