summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Fabien Sanglard <sanglardf@google.com> 2017-01-19 11:13:20 -0800
committer Fabien Sanglard <sanglardf@google.com> 2017-01-19 11:13:20 -0800
commit2ae83f4f628d4da96f363d0668380ba1f753b867 (patch)
treeee39dedb7019498e73be9b740a5ec2be3abf0798
parent1de7966c72981aebc3c7f9978ab129678ac89258 (diff)
Fix security vulnerability
Test: hammerhead Bug: 32628763 Change-Id: I19a81b63fffee8f323a5925c7e8633fbd640b91c
-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 9d94c874fe..b62e701554 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -1912,8 +1912,7 @@ void SurfaceFlinger::setTransactionState(
if (s.client != NULL) {
sp<IBinder> binder = s.client->asBinder();
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);
}