diff options
author | 2017-05-16 21:12:11 +0000 | |
---|---|---|
committer | 2017-05-16 21:12:11 +0000 | |
commit | 2d4959d8ebb865f67a6568ac76e16492797f1611 (patch) | |
tree | d9a8da3537023e4803ae83013b52a451c466875f | |
parent | 79a34dd24b38ea1231beca99bbfc0063563b0751 (diff) | |
parent | 83f226ba1bf9fce749946c9c1a63d825c1868bac (diff) |
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a am: 0544fa4580 am: 788ff8c16f am: 72c1a6f762 am: 8b99decc86
am: 83f226ba1b
Change-Id: Ic0586397a434045a9594b78ff955f6426b977641
-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 f4ba3bf15f..1a08130c44 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> @@ -203,8 +204,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; } |