summaryrefslogtreecommitdiffstats
path: root/core/java/android/content
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2011-09-28 23:19:47 -0400
committerDianne Hackborn <hackbod@google.com>2011-10-03 16:58:41 -0700
commit9ecebbfbf768fd63e9a6c9a09c86d81c7737ee2d (patch)
tree08d24c5413fa49ac6386f8b396f29e297e728fbd /core/java/android/content
parent8ebf1efd66516340bedbf0d0a19d5e96cc28fa20 (diff)
downloadframeworks_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.java4
-rw-r--r--core/java/android/content/Intent.java7
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.
*