diff options
| author | 2023-05-19 19:03:14 +0000 | |
|---|---|---|
| committer | 2023-05-19 19:03:14 +0000 | |
| commit | ff9cc286683c14dab1f62c27c7019d297d783fd3 (patch) | |
| tree | 9449f824fb0a65ef97ae8f70fe615ac07a778c95 | |
| parent | 22eee905ea81af52be81d9358fd1297a010bd2f6 (diff) | |
| parent | 904dd0058e2306ae198807f2ead107f65024e89e (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.java | 10 | ||||
| -rw-r--r-- | services/core/java/com/android/server/broadcastradio/IRadioServiceHidlImpl.java | 10 |
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"); |