summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/os/Binder.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/core/java/android/os/Binder.java b/core/java/android/os/Binder.java
index 59b8274a481b..f8260cababeb 100644
--- a/core/java/android/os/Binder.java
+++ b/core/java/android/os/Binder.java
@@ -226,9 +226,16 @@ public class Binder implements IBinder {
try {
fd.close();
} catch (IOException e) {
+ // swallowed, not propagated back to the caller
}
}
}
+ // Write the StrictMode header.
+ if (reply != null) {
+ reply.writeNoException();
+ } else {
+ StrictMode.clearGatheredViolations();
+ }
return true;
}
return false;
@@ -341,12 +348,15 @@ final class BinderProxy implements IBinder {
public void dump(FileDescriptor fd, String[] args) throws RemoteException {
Parcel data = Parcel.obtain();
+ Parcel reply = Parcel.obtain();
data.writeFileDescriptor(fd);
data.writeStringArray(args);
try {
- transact(DUMP_TRANSACTION, data, null, 0);
+ transact(DUMP_TRANSACTION, data, reply, 0);
+ reply.readException();
} finally {
data.recycle();
+ reply.recycle();
}
}