From dd83d703712bfa004a6bb71ddd19780b2d0b79ba Mon Sep 17 00:00:00 2001 From: Tej Singh <singhtejinder@google.com> Date: Tue, 10 Apr 2018 17:24:50 -0700 Subject: [PATCH] Enforce dump permission in stats service Enforces the dump permission in stats service and fixes a typo in an enum name. Bug: b/77723108 Test: adb shell dumpsys stats as root and not root Test: build success on marlin (and cts build success) Change-Id: I131f97fe4fd370d50bc4ad369377f6adcca5f6ae --- CleanSpec.mk | 1 + cmds/statsd/src/StatsService.cpp | 3 +++ core/proto/android/os/enums.proto | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CleanSpec.mk b/CleanSpec.mk index e728897139454..2e949c5c05a98 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -243,6 +243,7 @@ $(call add-clean-step, rm -f $(OUT_DIR)/target/common/obj/APPS/FeatureSplit2_int $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/android/hardware) $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates/core/java/android/os/storage/*) $(call add-clean-step, rm -rf $(OUT_DIR)/host/common/obj/JAVA_LIBRARIES/platformprotos_intermediates) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/statsdprotolite_intermediates) # ****************************************************************** # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST ABOVE THIS BANNER # ****************************************************************** diff --git a/cmds/statsd/src/StatsService.cpp b/cmds/statsd/src/StatsService.cpp index f7cc00ced6797..6652db609f2fd 100644 --- a/cmds/statsd/src/StatsService.cpp +++ b/cmds/statsd/src/StatsService.cpp @@ -172,6 +172,9 @@ status_t StatsService::onTransact(uint32_t code, const Parcel& data, Parcel* rep * Write debugging data about statsd. */ status_t StatsService::dump(int fd, const Vector<String16>& args) { + if (!checkCallingPermission(String16(kPermissionDump))) { + return PERMISSION_DENIED; + } FILE* out = fdopen(fd, "w"); if (out == NULL) { return NO_MEMORY; // the fd is already open diff --git a/core/proto/android/os/enums.proto b/core/proto/android/os/enums.proto index aa99ac75cbdfb..db4a4c4d836bf 100644 --- a/core/proto/android/os/enums.proto +++ b/core/proto/android/os/enums.proto @@ -60,7 +60,7 @@ enum BatteryStatusEnum { // They are primarily used by android/os/HardwarePropertiesManager.java. // Any change to the types in the thermal hal should be made here as well. enum TemperatureTypeEnum { - TEMPERATURE_TYPE_UKNOWN = -1; + TEMPERATURE_TYPE_UNKNOWN = -1; TEMPERATURE_TYPE_CPU = 0; TEMPERATURE_TYPE_GPU = 1; TEMPERATURE_TYPE_BATTERY = 2; -- GitLab