diff options
author | Dianne Hackborn <hackbod@google.com> | 2011-09-28 23:19:47 -0400 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2011-10-03 16:58:41 -0700 |
commit | 9ecebbfbf768fd63e9a6c9a09c86d81c7737ee2d (patch) | |
tree | 08d24c5413fa49ac6386f8b396f29e297e728fbd /core/java/android/content | |
parent | 8ebf1efd66516340bedbf0d0a19d5e96cc28fa20 (diff) | |
download | frameworks_base-9ecebbfbf768fd63e9a6c9a09c86d81c7737ee2d.zip frameworks_base-9ecebbfbf768fd63e9a6c9a09c86d81c7737ee2d.tar.gz frameworks_base-9ecebbfbf768fd63e9a6c9a09c86d81c7737ee2d.tar.bz2 |
Add mechanism for Parcel to not allow FDs to be written to it.
This is to help implement issue #5224703.
Change-Id: I026a5890495537d15b57fe61227a640aac806d46
Diffstat (limited to 'core/java/android/content')
-rw-r--r-- | core/java/android/content/BroadcastReceiver.java | 4 | ||||
-rw-r--r-- | core/java/android/content/Intent.java | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/core/java/android/content/BroadcastReceiver.java b/core/java/android/content/BroadcastReceiver.java index 028149b..3cbaf92 100644 --- a/core/java/android/content/BroadcastReceiver.java +++ b/core/java/android/content/BroadcastReceiver.java @@ -366,6 +366,9 @@ public abstract class BroadcastReceiver { mFinished = true; try { + if (mResultExtras != null) { + mResultExtras.setAllowFds(false); + } if (mOrderedHint) { am.finishReceiver(mToken, mResultCode, mResultData, mResultExtras, mAbortBroadcast); @@ -462,6 +465,7 @@ public abstract class BroadcastReceiver { IActivityManager am = ActivityManagerNative.getDefault(); IBinder binder = null; try { + service.setAllowFds(false); binder = am.peekService(service, service.resolveTypeIfNeeded( myContext.getContentResolver())); } catch (RemoteException e) { diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index f44d038..08fe0aa 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -3568,6 +3568,13 @@ public class Intent implements Parcelable, Cloneable { return mExtras != null && mExtras.hasFileDescriptors(); } + /** @hide */ + public void setAllowFds(boolean allowFds) { + if (mExtras != null) { + mExtras.setAllowFds(allowFds); + } + } + /** * Retrieve extended data from the intent. * |