Backport of Win-specific suppression of potentially rogue construct that can 2p: b5ad48db08
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/adb/+/17606585
Bug: 209438553
Change-Id: I853ca2c73c16231efea343c6c57fd1b4c2cc8b0a
Merged-In: Ie1f82db2fb14e1bdd183bf8d3d93d5e9f974be5d
diff --git a/libs/adbconnection/adbconnection_client.cpp b/libs/adbconnection/adbconnection_client.cpp
index 86b4110..bea0381 100644
--- a/libs/adbconnection/adbconnection_client.cpp
+++ b/libs/adbconnection/adbconnection_client.cpp
@@ -113,14 +113,20 @@
return nullptr;
}
- if (!profileable) {
- LOG(ERROR) << "AdbConnectionClientInfo missing required field profileable";
- return nullptr;
- }
+ bool expectProfileableAndArch = false;
+#if defined(__BIONIC__)
+ expectProfileableAndArch = android_get_device_api_level() >= __ANDROID_API_S__;
+#endif
+ if (expectProfileableAndArch) {
+ if (!profileable) {
+ LOG(ERROR) << "AdbConnectionClientInfo missing required field profileable";
+ return nullptr;
+ }
- if (!architecture) {
- LOG(ERROR) << "AdbConnectionClientInfo missing required field architecture";
- return nullptr;
+ if (!architecture) {
+ LOG(ERROR) << "AdbConnectionClientInfo missing required field architecture";
+ return nullptr;
+ }
}
ctx->control_socket_.reset(socket(AF_UNIX, SOCK_SEQPACKET | SOCK_CLOEXEC, 0));