From: Piotr Kosko
Date: Tue, 22 Mar 2016 14:07:38 +0000 (+0100)
Subject: [Keymanager] Added copying password before passing to lambda
X-Git-Tag: submit/tizen/20160322.235325^2~1
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e5af168fd162a07fbf9e10bf5da089420b31a1eb;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git
[Keymanager] Added copying password before passing to lambda
[Bug] Test KeyManager_getData_with_password sometimes fail on wearable.
[Verification] Tests results are stable, mentioned test not fail.
Change-Id: Ib9bb65242c46335c234b0dbff01dbaff555860cf
Signed-off-by: Piotr Kosko
---
diff --git a/src/keymanager/keymanager_instance.cc b/src/keymanager/keymanager_instance.cc
index 3a5439ec..62ce7bf6 100644
--- a/src/keymanager/keymanager_instance.cc
+++ b/src/keymanager/keymanager_instance.cc
@@ -144,11 +144,11 @@ void KeyManagerInstance::SaveData(const picojson::value& args,
double callback_id = args.get("callbackId").get();
- const char* password = nullptr;
+ std::string password;
if (password_value.is()) {
- password = (password_value.get()).c_str();
- LoggerE("password %s ", password);
+ password = password_value.get();
+ LoggerE("password %s ", password.c_str());
}
auto save_data = [data_raw, password, alias](const std::shared_ptr& result) {
@@ -157,7 +157,7 @@ void KeyManagerInstance::SaveData(const picojson::value& args,
std::copy(data_raw.begin(), data_raw.end(), data);
ckmc_raw_buffer_s raw_data { data, data_raw.size() };
- ckmc_policy_s policy { const_cast(password), true };
+ ckmc_policy_s policy { const_cast(password.c_str()), true };
int ret = ckmc_save_data(alias.c_str(), raw_data, policy);