summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-02-20 18:05:55 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-02-20 18:05:55 +0000
commitff3a85ec9cd8ca361635603d16033eb54a6886f0 (patch)
tree053e1ee6528e57faff6775e28829d14ca52fd7c8
parentab9b94ff24c0f14674123d527ae8b2b8bcedbb76 (diff)
parente3768ad7ac2884e8c3f25f1f89dc9014530a6a1a (diff)
Merge "libbinder_ndk: don't borrow fd into unique_fd" am: 637113c267 am: ba7a315924 am: e3768ad7ac
Change-Id: Ib8732dd2899f01009875149a7d6d9bba6aa16716
-rw-r--r--libs/binder/ndk/parcel.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/libs/binder/ndk/parcel.cpp b/libs/binder/ndk/parcel.cpp
index 703ceaed54..c33c44f8a8 100644
--- a/libs/binder/ndk/parcel.cpp
+++ b/libs/binder/ndk/parcel.cpp
@@ -247,15 +247,12 @@ binder_status_t AParcel_writeParcelFileDescriptor(AParcel* parcel, int fd) {
if (fd != -1) {
return STATUS_UNKNOWN_ERROR;
}
- return parcel->get()->writeInt32(0); // null
+ return PruneStatusT(parcel->get()->writeInt32(0)); // null
}
+ status_t status = parcel->get()->writeInt32(1); // not-null
+ if (status != STATUS_OK) return PruneStatusT(status);
- ParcelFileDescriptor parcelFd = ParcelFileDescriptor(unique_fd(fd));
- status_t status = parcel->get()->writeParcelable(parcelFd);
-
- // ownership is retained by caller
- (void)parcelFd.release().release();
-
+ status = parcel->get()->writeDupParcelFileDescriptor(fd);
return PruneStatusT(status);
}