diff options
| author | 2017-05-16 20:41:35 +0000 | |
|---|---|---|
| committer | 2017-05-16 20:41:35 +0000 | |
| commit | 396cc342a7561eb84e50a365dbb20c31390c75ab (patch) | |
| tree | 880491490cf530b1ea4b7938e9ec8ee4c6db3694 | |
| parent | 970bb515801cb8f8138eb2d3be53ae5dbba27672 (diff) | |
| parent | af33c978c82088375bfca5adb5cfa508f93843d7 (diff) | |
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev
am: af33c978c8
Change-Id: I97f957bc5375d11cd034d4b06baa8636e7999f8c
| -rw-r--r-- | libs/gui/IGraphicBufferProducer.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
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 <binder/Parcel.h> #include <binder/IInterface.h> +#include <gui/BufferQueueDefs.h> #include <gui/IGraphicBufferProducer.h> #include <gui/IProducerListener.h> @@ -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; } |