This commit is contained in:
David Kelly 2017-08-24 08:48:26 -07:00
parent c77dafdf12
commit d398adc195

View file

@ -262,18 +262,18 @@ bool Wallet::encryptFile(const QString& inputFilePath, const QString& outputFile
// TODO: add error handling!!! // TODO: add error handling!!!
if (!EVP_EncryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, ckey, ivec)) { if (!EVP_EncryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, ckey, ivec)) {
qCDebug(commerce) << "encrypt init failure"; qCDebug(commerce) << "encrypt init failure";
delete outputFileBuffer; delete[] outputFileBuffer;
return false; return false;
} }
if (!EVP_EncryptUpdate(ctx, outputFileBuffer, &tempSize, (unsigned char*)inputFileBuffer.data(), inputFileBuffer.size())) { if (!EVP_EncryptUpdate(ctx, outputFileBuffer, &tempSize, (unsigned char*)inputFileBuffer.data(), inputFileBuffer.size())) {
qCDebug(commerce) << "encrypt update failure"; qCDebug(commerce) << "encrypt update failure";
delete outputFileBuffer; delete[] outputFileBuffer;
return false; return false;
} }
outSize = tempSize; outSize = tempSize;
if (!EVP_EncryptFinal_ex(ctx, outputFileBuffer + outSize, &tempSize)) { if (!EVP_EncryptFinal_ex(ctx, outputFileBuffer + outSize, &tempSize)) {
qCDebug(commerce) << "encrypt final failure"; qCDebug(commerce) << "encrypt final failure";
delete outputFileBuffer; delete[] outputFileBuffer;
return false; return false;
} }
@ -286,7 +286,7 @@ bool Wallet::encryptFile(const QString& inputFilePath, const QString& outputFile
outputFile.write(output); outputFile.write(output);
outputFile.close(); outputFile.close();
delete outputFileBuffer; delete[] outputFileBuffer;
return true; return true;
} }
@ -313,25 +313,25 @@ bool Wallet::decryptFile(const QString& inputFilePath, unsigned char** outputBuf
EVP_CIPHER_CTX* ctx = EVP_CIPHER_CTX_new(); EVP_CIPHER_CTX* ctx = EVP_CIPHER_CTX_new();
if (!EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, ckey, ivec)) { if (!EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, ckey, ivec)) {
qCDebug(commerce) << "decrypt init failure"; qCDebug(commerce) << "decrypt init failure";
delete outputBuffer; delete[] outputBuffer;
return false; return false;
} }
if (!EVP_DecryptUpdate(ctx, outputBuffer, &tempSize, (unsigned char*)encryptedBuffer.data(), encryptedBuffer.size())) { if (!EVP_DecryptUpdate(ctx, outputBuffer, &tempSize, (unsigned char*)encryptedBuffer.data(), encryptedBuffer.size())) {
qCDebug(commerce) << "decrypt update failure"; qCDebug(commerce) << "decrypt update failure";
delete outputBuffer; delete[] outputBuffer;
return false; return false;
} }
*outputBufferSize = tempSize; *outputBufferSize = tempSize;
if (!EVP_DecryptFinal_ex(ctx, outputBuffer + tempSize, &tempSize)) { if (!EVP_DecryptFinal_ex(ctx, outputBuffer + tempSize, &tempSize)) {
qCDebug(commerce) << "decrypt final failure"; qCDebug(commerce) << "decrypt final failure";
delete outputBuffer; delete[] outputBuffer;
return false; return false;
} }
EVP_CIPHER_CTX_free(ctx); EVP_CIPHER_CTX_free(ctx);
*outputBufferSize += tempSize; *outputBufferSize += tempSize;
*outputBufferPtr = outputBuffer; *outputBufferPtr = outputBuffer;
qCDebug(commerce) << "decrypted buffer size" << *outputBufferSize; qCDebug(commerce) << "decrypted buffer size" << *outputBufferSize;
delete outputBuffer; delete[] outputBuffer;
return true; return true;
} }