Fix use-after-free of stack-allocated temporary string. am: c41b838baa am: a5efddda90
am: dbd2ac1202
Change-Id: I3afd60abcb45a9ae39388630edb274b8eca3ecc1
diff --git a/init/selinux.cpp b/init/selinux.cpp
index f68bbe8..3c4b8f5 100644
--- a/init/selinux.cpp
+++ b/init/selinux.cpp
@@ -295,13 +295,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,