From 32b9023d086e3e22886dd3271f505ef64cd84bc8 Mon Sep 17 00:00:00 2001 From: Nick Kralevich Date: Wed, 19 Sep 2012 11:15:24 -0700 Subject: [PATCH] init: Don't read local properties if ro.debuggable=0 Bug: 7195965 Change-Id: I29fdad61aa61f2c46d49db227cf7b84d9cc6f25d --- init/property_service.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/init/property_service.c b/init/property_service.c index c378aeb38..f58e07d86 100755 --- a/init/property_service.c +++ b/init/property_service.c @@ -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();