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);