diff options
| author | 2017-01-19 11:13:20 -0800 | |
|---|---|---|
| committer | 2017-01-19 11:13:20 -0800 | |
| commit | 2ae83f4f628d4da96f363d0668380ba1f753b867 (patch) | |
| tree | ee39dedb7019498e73be9b740a5ec2be3abf0798 | |
| parent | 1de7966c72981aebc3c7f9978ab129678ac89258 (diff) | |
Fix security vulnerability
Test: hammerhead
Bug: 32628763
Change-Id: I19a81b63fffee8f323a5925c7e8633fbd640b91c
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 3 |
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); } |