From c79a29689c1046f1f0301c75df9b9a67cba8bf04 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Mon, 15 May 2017 10:32:27 -0700 Subject: libgui: check for invalid slot in attachBuffer Bug: 37478824 Test: manual Change-Id: I369337d53539bf7f7e3d925bccdae4045da1b404 --- libs/gui/IGraphicBufferProducer.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'libs/gui/IGraphicBufferProducer.cpp') diff --git a/libs/gui/IGraphicBufferProducer.cpp b/libs/gui/IGraphicBufferProducer.cpp index b5ec604a96..b12d6ca3e0 100644 --- a/libs/gui/IGraphicBufferProducer.cpp +++ b/libs/gui/IGraphicBufferProducer.cpp @@ -26,6 +26,7 @@ #include #include +#include #include #include @@ -164,8 +165,16 @@ public: if (result != NO_ERROR) { return result; } + *slot = reply.readInt32(); result = reply.readInt32(); + if (result == NO_ERROR && + (*slot < 0 || *slot >= BufferQueueDefs::NUM_BUFFER_SLOTS)) { + ALOGE("attachBuffer returned invalid slot %d", *slot); + android_errorWriteLog(0x534e4554, "37478824"); + return UNKNOWN_ERROR; + } + return result; } -- cgit v1.2.3-59-g8ed1b