summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabien Sanglard <sanglardf@google.com>2017-01-18 16:43:18 -0800
committerSean McCreary <mccreary@mcwest.org>2017-04-05 18:44:52 -0600
commite34afe0a4bd8092cca89a607c994124a9ddb28b9 (patch)
treebab932b61894f683cfd610950e61788f84e9dc63
parentc2983e9d3bc3905d06a8b7dfa58548687c50634a (diff)
downloadframeworks_native-e34afe0a4bd8092cca89a607c994124a9ddb28b9.zip
frameworks_native-e34afe0a4bd8092cca89a607c994124a9ddb28b9.tar.gz
frameworks_native-e34afe0a4bd8092cca89a607c994124a9ddb28b9.tar.bz2
Fix security vulnerability
AOSP-Change-Id: I4c9ea3a3177131fa29d2561da71ef18bec3af108 Test: angler, marlin Bug: 32628763 CVE-2017-0546 Change-Id: I3e87518163540a9fce1d4fc3751ed558d4854140 (cherry picked from commit 45b202513ba7440beaefbf9928f73fb6683dcfbd)
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 441bad8..941257c 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -2249,8 +2249,7 @@ void SurfaceFlinger::setTransactionState(
if (s.client != NULL) {
sp<IBinder> binder = IInterface::asBinder(s.client);
if (binder != NULL) {
- String16 desc(binder->getInterfaceDescriptor());
- if (desc == ISurfaceComposerClient::descriptor) {
+ if (binder->queryLocalInterface(ISurfaceComposerClient::descriptor) != NULL) {
sp<Client> client( static_cast<Client *>(s.client.get()) );
transactionFlags |= setClientStateLocked(client, s.state);
}