summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chia-I Wu <olv@google.com> 2017-05-16 21:15:44 +0000
committer android-build-merger <android-build-merger@google.com> 2017-05-16 21:15:44 +0000
commit6a7200333aa2c7f2abbdfba79fb2ca708db0743e (patch)
tree166042006ef855d9d4c5a4b90cf275ca59bd1521
parenta1b1e635ccef0536a173c1baa76ab88b2a4d9082 (diff)
parent2d4959d8ebb865f67a6568ac76e16492797f1611 (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
am: 2d4959d8eb Change-Id: Ic8400bff6a8c8e48719abe1aadcb0661d36bba87
-rw-r--r--libs/gui/IGraphicBufferProducer.cpp9
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;
}