summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2022-07-08 16:54:21 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-07-08 16:54:21 +0000
commit13d90b93f6dccfd6f19656e034d3d2a987b0c1ce (patch)
treee6ad9437f6d589a2904649a406b6f38b836e809f
parent3708e1c3aa999753bf9806b87166d31cd1f09c04 (diff)
parentec0d68e94557ade17f1729aedfb0b5cad97c8427 (diff)
Merge "libbinder: abort on Parcel::appendFrom in no-kernel mode" am: ec0d68e945
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2147342 Change-Id: Ib8e989d0c1489aedfa564ba716cb291fc2cdcde4 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--libs/binder/Parcel.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp
index 3dccf20082..537527e2c1 100644
--- a/libs/binder/Parcel.cpp
+++ b/libs/binder/Parcel.cpp
@@ -503,8 +503,8 @@ status_t Parcel::appendFrom(const Parcel* parcel, size_t offset, size_t len) {
err = NO_ERROR;
-#ifdef BINDER_WITH_KERNEL_IPC
if (auto* kernelFields = maybeKernelFields()) {
+#ifdef BINDER_WITH_KERNEL_IPC
auto* otherKernelFields = parcel->maybeKernelFields();
LOG_ALWAYS_FATAL_IF(otherKernelFields == nullptr);
@@ -564,6 +564,10 @@ status_t Parcel::appendFrom(const Parcel* parcel, size_t offset, size_t len) {
}
}
}
+#else
+ LOG_ALWAYS_FATAL("Binder kernel driver disabled at build time");
+ return INVALID_OPERATION;
+#endif // BINDER_WITH_KERNEL_IPC
} else {
auto* rpcFields = maybeRpcFields();
LOG_ALWAYS_FATAL_IF(rpcFields == nullptr);
@@ -622,7 +626,6 @@ status_t Parcel::appendFrom(const Parcel* parcel, size_t offset, size_t len) {
}
}
}
-#endif // BINDER_WITH_KERNEL_IPC
return err;
}