aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYordan Karadzhov <ykaradzhov@vmware.com>2019-03-26 15:39:14 +0200
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2019-04-02 19:41:09 -0400
commit5def8aaffcdbb95c9ab5220ada0ae33db567c2b0 (patch)
treeeaf20b04a4c207283338842086355a50a6e49151
parent92d4e3c56c1faf83e78d3ba341d7f16a9b30b424 (diff)
downloadtrace-cmd-5def8aaffcdbb95c9ab5220ada0ae33db567c2b0.tar.gz
kernel-shark: Fix a bug in KsPluginManager
const char *lib = plugin.toStdString().c_str(); This line is a bad idea because the returned array may (will) be invalidated when the destructor of std::string is called. Link: http://lore.kernel.org/linux-trace-devel/20190326133914.18884-1-ykaradzhov@vmware.com Fixes: 18cf94f48 ("kernel-shark-qt: Add KernalShark Utils") Suggested-by: Slavomir Kaslev <kaslevs@vmware.com> Signed-off-by: Yordan Karadzhov <ykaradzhov@vmware.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rw-r--r--kernel-shark/src/KsUtils.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel-shark/src/KsUtils.cpp b/kernel-shark/src/KsUtils.cpp
index b934ce3d..6af0c66d 100644
--- a/kernel-shark/src/KsUtils.cpp
+++ b/kernel-shark/src/KsUtils.cpp
@@ -439,8 +439,8 @@ void KsPluginManager::registerFromList(kshark_context *kshark_ctx)
auto lamRegUser = [&kshark_ctx](const QString &plugin)
{
- const char *lib = plugin.toStdString().c_str();
- kshark_register_plugin(kshark_ctx, lib);
+ std::string lib = plugin.toStdString();
+ kshark_register_plugin(kshark_ctx, lib.c_str());
};
_forEachInList(_ksPluginList,
@@ -474,8 +474,8 @@ void KsPluginManager::unregisterFromList(kshark_context *kshark_ctx)
auto lamUregUser = [&kshark_ctx](const QString &plugin)
{
- const char *lib = plugin.toStdString().c_str();
- kshark_unregister_plugin(kshark_ctx, lib);
+ std::string lib = plugin.toStdString();
+ kshark_unregister_plugin(kshark_ctx, lib.c_str());
};
_forEachInList(_ksPluginList,