OSDN Git Service

Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8...
authorChia-I Wu <olv@google.com>
Tue, 16 May 2017 21:18:41 +0000 (21:18 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Tue, 16 May 2017 21:18:41 +0000 (21:18 +0000)
am: 6a7200333a

Change-Id: Iee50110f6189c015e2aca1c77a460d964d8d5439

libs/gui/IGraphicBufferProducer.cpp

index 74117c8..bca645f 100644 (file)
@@ -27,6 +27,7 @@
 #include <binder/Parcel.h>
 #include <binder/IInterface.h>
 
+#include <gui/BufferQueueDefs.h>
 #include <gui/IGraphicBufferProducer.h>
 #include <gui/IProducerListener.h>
 
@@ -220,8 +221,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;
     }