libgui: Check slot received from IGBP in Surface
am: ac93b3a30e

Change-Id: I6ab9bc7f577634c0bf23359b5eb60e6dd07e4854
diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp
index 27dbc4e..637527b 100644
--- a/libs/gui/Surface.cpp
+++ b/libs/gui/Surface.cpp
@@ -191,6 +191,13 @@
              result);
         return result;
     }
+
+    if (buf < 0 || buf >= NUM_BUFFER_SLOTS) {
+        ALOGE("dequeueBuffer: IGraphicBufferProducer returned invalid slot number %d", buf);
+        android_errorWriteLog(0x534e4554, "36991414"); // SafetyNet logging
+        return FAILED_TRANSACTION;
+    }
+
     sp<GraphicBuffer>& gbuf(mSlots[buf].buffer);
 
     // this should never happen