summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-08-14 23:26:47 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-08-14 23:26:47 +0000
commit474dda22b5aa88760f8804f789f1b8e1b0910d7c (patch)
treedebff4faaba37c2a1c66bfdcaf8e291c5386a9cf
parentc0fbdf45d7c9826533186751a03c27e500cac78e (diff)
parent371c5e6343a5c093ec8637e5c38f16b9b939c658 (diff)
downloadbase-474dda22b5aa88760f8804f789f1b8e1b0910d7c.tar.gz
Merge cherrypicks of [9200581, 9200376, 9200474, 9200583, 9200491, 9200584, 9200505, 9200585, 9200475, 9200586, 9200476, 9200588, 9200589, 9200639] into qt-release
Change-Id: I591f441572b3edc2b5f5e8093556a68e1c7970c9
-rw-r--r--core/java/android/os/ParcelFileDescriptor.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/core/java/android/os/ParcelFileDescriptor.java b/core/java/android/os/ParcelFileDescriptor.java
index 8355e08b6aa8..2a4576adf192 100644
--- a/core/java/android/os/ParcelFileDescriptor.java
+++ b/core/java/android/os/ParcelFileDescriptor.java
@@ -581,12 +581,16 @@ public class ParcelFileDescriptor implements Parcelable, Closeable {
public static ParcelFileDescriptor fromData(byte[] data, String name) throws IOException {
if (data == null) return null;
MemoryFile file = new MemoryFile(name, data.length);
- if (data.length > 0) {
- file.writeBytes(data, 0, 0, data.length);
+ try {
+ if (data.length > 0) {
+ file.writeBytes(data, 0, 0, data.length);
+ }
+ file.deactivate();
+ FileDescriptor fd = file.getFileDescriptor();
+ return fd != null ? ParcelFileDescriptor.dup(fd) : null;
+ } finally {
+ file.close();
}
- file.deactivate();
- FileDescriptor fd = file.getFileDescriptor();
- return fd != null ? ParcelFileDescriptor.dup(fd) : null;
}
/**