summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabien Sanglard <sanglardf@google.com>2017-02-02 20:12:42 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-02-02 20:12:42 +0000
commit8778a131c2f639f1ed490d7847cf544cddc33e80 (patch)
tree2f1366692fdc78fcb2f7de75407d3e461ba77b4c
parent0e0a25877137154a5da927c6c0924d96b57fdee8 (diff)
parent45b202513ba7440beaefbf9928f73fb6683dcfbd (diff)
downloadnative-8778a131c2f639f1ed490d7847cf544cddc33e80.tar.gz
Fix security vulnerability
am: 45b202513b Change-Id: Ifaf692c814e2562332914854dc95c7715d37a5c0
-rw-r--r--services/surfaceflinger/SurfaceFlinger_hwc1.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger_hwc1.cpp b/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
index 650d6b4dd7..98943d247c 100644
--- a/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
+++ b/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
@@ -2203,8 +2203,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);
}