init: Don't read local properties if ro.debuggable=0

Bug: 7195965
Change-Id: I29fdad61aa61f2c46d49db227cf7b84d9cc6f25d
This commit is contained in:
Nick Kralevich 2012-09-19 11:15:24 -07:00
parent a6cf7746cb
commit 32b9023d08

View file

@ -582,6 +582,16 @@ int properties_inited(void)
return property_area_inited;
}
static void load_override_properties() {
#ifdef ALLOW_LOCAL_PROP_OVERRIDE
const char *debuggable = property_get("ro.debuggable");
if (debuggable && (strcmp(debuggable, "1") == 0)) {
load_properties_from_file(PROP_PATH_LOCAL_OVERRIDE);
}
#endif /* ALLOW_LOCAL_PROP_OVERRIDE */
}
/* When booting an encrypted system, /data is not mounted when the
* property service is started, so any properties stored there are
* not loaded. Vold triggers init to load these properties once it
@ -589,9 +599,7 @@ int properties_inited(void)
*/
void load_persist_props(void)
{
#ifdef ALLOW_LOCAL_PROP_OVERRIDE
load_properties_from_file(PROP_PATH_LOCAL_OVERRIDE);
#endif /* ALLOW_LOCAL_PROP_OVERRIDE */
load_override_properties();
/* Read persistent properties after all default values have been loaded. */
load_persistent_properties();
}
@ -602,9 +610,7 @@ void start_property_service(void)
load_properties_from_file(PROP_PATH_SYSTEM_BUILD);
load_properties_from_file(PROP_PATH_SYSTEM_DEFAULT);
#ifdef ALLOW_LOCAL_PROP_OVERRIDE
load_properties_from_file(PROP_PATH_LOCAL_OVERRIDE);
#endif /* ALLOW_LOCAL_PROP_OVERRIDE */
load_override_properties();
/* Read persistent properties after all default values have been loaded. */
load_persistent_properties();