From b26f1462ca8e5a8e5ec78142cbd8c96d7f17ecaa Mon Sep 17 00:00:00 2001 From: hukaixiang Date: Wed, 21 Jun 2023 17:17:18 +0800 Subject: [PATCH] Fix: avoid the potential attack on SlicePermissionActivity Bug: 288215072 Analysis: Third-party apps may pass malformed data, causing getParcelableExtra method to throw an exception. Change-Id: I9e37728897a31a361af3a183983b646da0918b63 --- .../src/com/android/systemui/SlicePermissionActivity.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/SlicePermissionActivity.java b/packages/SystemUI/src/com/android/systemui/SlicePermissionActivity.java index 45077d2333b60..6f99a24b73129 100644 --- a/packages/SystemUI/src/com/android/systemui/SlicePermissionActivity.java +++ b/packages/SystemUI/src/com/android/systemui/SlicePermissionActivity.java @@ -51,7 +51,11 @@ public class SlicePermissionActivity extends Activity implements OnClickListener super.onCreate(savedInstanceState); // Verify intent is valid - mUri = getIntent().getParcelableExtra(SliceProvider.EXTRA_BIND_URI); + try { + mUri = getIntent().getParcelableExtra(SliceProvider.EXTRA_BIND_URI); + } catch (Exception e) { + Log.w(TAG, "Failed to getParcelableExtra", e); + } mCallingPkg = getIntent().getStringExtra(SliceProvider.EXTRA_PKG); if (mUri == null || !SliceProvider.SLICE_TYPE.equals(getContentResolver().getType(mUri))