summaryrefslogtreecommitdiff
path: root/libs/gui/Surface.cpp
diff options
context:
space:
mode:
author Dan Stoza <stoza@google.com> 2017-05-16 20:55:47 +0000
committer android-build-merger <android-build-merger@google.com> 2017-05-16 20:55:47 +0000
commit9a44ee074255474f613e0aa09e6ed5e502df4575 (patch)
tree75b03667d81e5f9b9806f7a8719e15ab40ab9b57 /libs/gui/Surface.cpp
parente3bc28ad88e56fce70fb974b1085b6127fbd3021 (diff)
parentcce83f15e5689e2f39408c6cbeec32bb9616fc5f (diff)
Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0
am: cce83f15e5 Change-Id: I82264d2033d6b098199321fd29c0d26017ec5359
Diffstat (limited to 'libs/gui/Surface.cpp')
-rw-r--r--libs/gui/Surface.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp
index 4b76f9834c..22aa4ecc36 100644
--- a/libs/gui/Surface.cpp
+++ b/libs/gui/Surface.cpp
@@ -237,6 +237,12 @@ int Surface::dequeueBuffer(android_native_buffer_t** buffer, int* fenceFd) {
return result;
}
+ if (buf < 0 || buf >= NUM_BUFFER_SLOTS) {
+ ALOGE("dequeueBuffer: IGraphicBufferProducer returned invalid slot number %d", buf);
+ android_errorWriteLog(0x534e4554, "36991414"); // SafetyNet logging
+ return FAILED_TRANSACTION;
+ }
+
Mutex::Autolock lock(mMutex);
sp<GraphicBuffer>& gbuf(mSlots[buf].buffer);