summaryrefslogtreecommitdiff
path: root/libs/gui/BufferQueue.cpp
diff options
context:
space:
mode:
author Mathias Agopian <mathias@google.com> 2012-11-19 15:17:27 -0800
committer Android Git Automerger <android-git-automerger@android.com> 2012-11-19 15:17:27 -0800
commitbd3e837ec726e5a1c7fca7173d8230ca60a3ba6d (patch)
tree3142468bf65a16835c748ade217b6007be3a5466 /libs/gui/BufferQueue.cpp
parent75220f9b93bdd8acedefe46d38fffc911a704637 (diff)
parentc208cdd402d767228a34074d589c6368cc656b7d (diff)
am c208cdd4: am 1d3612f1: am 2a8c49eb: fix an out-of-bounds memory access
* commit 'c208cdd402d767228a34074d589c6368cc656b7d': fix an out-of-bounds memory access
Diffstat (limited to 'libs/gui/BufferQueue.cpp')
-rw-r--r--libs/gui/BufferQueue.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/libs/gui/BufferQueue.cpp b/libs/gui/BufferQueue.cpp
index 590946a854..607e0bdbec 100644
--- a/libs/gui/BufferQueue.cpp
+++ b/libs/gui/BufferQueue.cpp
@@ -314,10 +314,12 @@ status_t BufferQueue::dequeueBuffer(int *outBuf, sp<Fence>& outFence,
* the consumer may still have pending reads of the
* buffers in flight.
*/
- bool isOlder = mSlots[i].mFrameNumber <
- mSlots[found].mFrameNumber;
- if (found < 0 || isOlder) {
- found = i;
+ if (found >= 0) {
+ bool isOlder = mSlots[i].mFrameNumber <
+ mSlots[found].mFrameNumber;
+ if (isOlder) {
+ found = i;
+ }
}
}
}