From 5f31a52e030adaf52e768886f3c10a138cf607e5 Mon Sep 17 00:00:00 2001 From: Krzysztof Jackiewicz Date: Mon, 14 Sep 2015 10:02:08 +0200 Subject: [PATCH] Move encrypted/decrypted rows instead of copying [Problem] Rows are copied in CryptoLogic::decryptRow/encryptRow. [Solution] Copying replaced with std::move [Verification] Run tests Change-Id: I362638d8981bbe8e511b417596f4cb67ae6f058e --- src/manager/service/crypto-logic.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/manager/service/crypto-logic.cpp b/src/manager/service/crypto-logic.cpp index b51e6c4..b851f92 100644 --- a/src/manager/service/crypto-logic.cpp +++ b/src/manager/service/crypto-logic.cpp @@ -22,6 +22,8 @@ #include #include +#include + #include #include @@ -167,7 +169,7 @@ void CryptoLogic::encryptRow(const Password &password, DB::Row &row) crow.encryptionScheme |= ENCR_BASE64; encBase64(crow.iv); - row = crow; + row = std::move(crow); } catch(const CKM::Base64Encoder::Exception::Base &e) { ThrowErr(Exc::InternalError, e.GetMessage()); } catch(const CKM::Base64Decoder::Exception::Base &e) { @@ -222,7 +224,7 @@ void CryptoLogic::decryptRow(const Password &password, DB::Row &row) crow.data.resize(crow.dataSize); } - row = crow; + row = std::move(crow); } catch(const CKM::Base64Encoder::Exception::Base &e) { ThrowErr(Exc::InternalError, e.GetMessage()); } catch(const CKM::Base64Decoder::Exception::Base &e) { -- 2.7.4