Fix use-after-free of stack-allocated temporary string.
Bug: 64848081
Test: built and successfully booted again
Merged-In: I93c899249bf2cc5ab8d880c0eaff471518e73121
Change-Id: I08e6f71a7c5151544b9434eb0d362a236202cd31
diff --git a/init/init.cpp b/init/init.cpp
index 715dd72..9671560 100644
--- a/init/init.cpp
+++ b/init/init.cpp
@@ -807,13 +807,15 @@
return false;
}
std::string mapping_file("/system/etc/selinux/mapping/" + vend_plat_vers + ".cil");
+ const std::string version_as_string = std::to_string(max_policy_version);
+
// clang-format off
const char* compile_args[] = {
"/system/bin/secilc",
plat_policy_cil_file,
"-M", "true", "-G", "-N",
// Target the highest policy language version supported by the kernel
- "-c", std::to_string(max_policy_version).c_str(),
+ "-c", version_as_string.c_str(),
mapping_file.c_str(),
"/vendor/etc/selinux/nonplat_sepolicy.cil",
"-o", compiled_sepolicy,