dm: Fix invalid string memory access
Change-Id: I9f653206e06466d64c5a86a85b113ab2f26be920
diff --git a/sdm/libs/core/comp_manager.cpp b/sdm/libs/core/comp_manager.cpp
index d729d3b..c2f9f4c 100644
--- a/sdm/libs/core/comp_manager.cpp
+++ b/sdm/libs/core/comp_manager.cpp
@@ -156,7 +156,7 @@
}
DLOGV_IF(kTagCompManager, "Registered displays [%s], display %d-%d",
- StringDisplayList(registered_displays_), display_comp_ctx->display_id,
+ StringDisplayList(registered_displays_).c_str(), display_comp_ctx->display_id,
display_comp_ctx->display_type);
return kErrorNone;
@@ -186,7 +186,7 @@
}
DLOGV_IF(kTagCompManager, "Registered displays [%s], display %d-%d",
- StringDisplayList(registered_displays_), display_comp_ctx->display_id,
+ StringDisplayList(registered_displays_).c_str(), display_comp_ctx->display_id,
display_comp_ctx->display_type);
delete display_comp_ctx;
@@ -423,7 +423,7 @@
display_comp_ctx->first_cycle_ = false;
DLOGV_IF(kTagCompManager, "Registered displays [%s], display %d-%d",
- StringDisplayList(registered_displays_), display_comp_ctx->display_id,
+ StringDisplayList(registered_displays_).c_str(), display_comp_ctx->display_id,
display_comp_ctx->display_type);
return kErrorNone;
@@ -626,7 +626,7 @@
return kErrorNone;
}
-const char *CompManager::StringDisplayList(const std::set<int32_t> &displays) {
+std::string CompManager::StringDisplayList(const std::set<int32_t> &displays) {
std::string displays_str;
for (auto disps : displays) {
if (displays_str.empty()) {
@@ -635,7 +635,7 @@
displays_str += ", " + std::to_string(disps);
}
}
- return displays_str.c_str();
+ return displays_str;
}
DisplayError CompManager::SetBlendSpace(Handle display_ctx, const PrimariesTransfer &blend_space) {
diff --git a/sdm/libs/core/comp_manager.h b/sdm/libs/core/comp_manager.h
index e52d471..2818326 100644
--- a/sdm/libs/core/comp_manager.h
+++ b/sdm/libs/core/comp_manager.h
@@ -31,6 +31,7 @@
#include <bitset>
#include <set>
#include <vector>
+#include <string>
#include "strategy.h"
#include "resource_default.h"
@@ -98,7 +99,7 @@
void PrepareStrategyConstraints(Handle display_ctx, HWLayers *hw_layers);
void UpdateStrategyConstraints(bool is_primary, bool disabled);
- const char *StringDisplayList(const std::set<int32_t> &displays);
+ std::string StringDisplayList(const std::set<int32_t> &displays);
struct DisplayCompositionContext {
Strategy *strategy = NULL;