summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2023-05-19 19:03:14 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-05-19 19:03:14 +0000
commitff9cc286683c14dab1f62c27c7019d297d783fd3 (patch)
tree9449f824fb0a65ef97ae8f70fe615ac07a778c95
parent22eee905ea81af52be81d9358fd1297a010bd2f6 (diff)
parent904dd0058e2306ae198807f2ead107f65024e89e (diff)
Merge "Add dump permission check in broadcastradio" into udc-dev am: 2ad51d11dd am: 904dd0058e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23336416 Change-Id: Idf28f08296f492669d85438adf47183706a7657f Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--services/core/java/com/android/server/broadcastradio/IRadioServiceAidlImpl.java10
-rw-r--r--services/core/java/com/android/server/broadcastradio/IRadioServiceHidlImpl.java10
2 files changed, 20 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/broadcastradio/IRadioServiceAidlImpl.java b/services/core/java/com/android/server/broadcastradio/IRadioServiceAidlImpl.java
index 6a010424db13..42b2682cf530 100644
--- a/services/core/java/com/android/server/broadcastradio/IRadioServiceAidlImpl.java
+++ b/services/core/java/com/android/server/broadcastradio/IRadioServiceAidlImpl.java
@@ -16,6 +16,8 @@
package com.android.server.broadcastradio;
+import android.Manifest;
+import android.content.pm.PackageManager;
import android.hardware.broadcastradio.IBroadcastRadio;
import android.hardware.radio.IAnnouncementListener;
import android.hardware.radio.ICloseHandle;
@@ -23,6 +25,7 @@ import android.hardware.radio.IRadioService;
import android.hardware.radio.ITuner;
import android.hardware.radio.ITunerCallback;
import android.hardware.radio.RadioManager;
+import android.os.Binder;
import android.os.IBinder;
import android.os.RemoteException;
import android.os.ServiceManager;
@@ -112,6 +115,13 @@ final class IRadioServiceAidlImpl extends IRadioService.Stub {
@Override
protected void dump(FileDescriptor fd, PrintWriter printWriter, String[] args) {
+ if (mService.getContext().checkCallingOrSelfPermission(Manifest.permission.DUMP)
+ != PackageManager.PERMISSION_GRANTED) {
+ printWriter.println("Permission Denial: can't dump AIDL BroadcastRadioService from "
+ + "from pid=" + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid()
+ + " without permission " + Manifest.permission.DUMP);
+ return;
+ }
IndentingPrintWriter radioPrintWriter = new IndentingPrintWriter(printWriter);
radioPrintWriter.printf("BroadcastRadioService\n");
diff --git a/services/core/java/com/android/server/broadcastradio/IRadioServiceHidlImpl.java b/services/core/java/com/android/server/broadcastradio/IRadioServiceHidlImpl.java
index 408fba1bff3b..bc72a4be18be 100644
--- a/services/core/java/com/android/server/broadcastradio/IRadioServiceHidlImpl.java
+++ b/services/core/java/com/android/server/broadcastradio/IRadioServiceHidlImpl.java
@@ -16,12 +16,15 @@
package com.android.server.broadcastradio;
+import android.Manifest;
+import android.content.pm.PackageManager;
import android.hardware.radio.IAnnouncementListener;
import android.hardware.radio.ICloseHandle;
import android.hardware.radio.IRadioService;
import android.hardware.radio.ITuner;
import android.hardware.radio.ITunerCallback;
import android.hardware.radio.RadioManager;
+import android.os.Binder;
import android.os.RemoteException;
import android.util.IndentingPrintWriter;
import android.util.Log;
@@ -129,6 +132,13 @@ final class IRadioServiceHidlImpl extends IRadioService.Stub {
@Override
protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+ if (mService.getContext().checkCallingOrSelfPermission(Manifest.permission.DUMP)
+ != PackageManager.PERMISSION_GRANTED) {
+ pw.println("Permission Denial: can't dump HIDL BroadcastRadioService from "
+ + "from pid=" + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid()
+ + " without permission " + Manifest.permission.DUMP);
+ return;
+ }
IndentingPrintWriter radioPw = new IndentingPrintWriter(pw);
radioPw.printf("BroadcastRadioService\n");