gfxstream: make sure we consistently use uint32_t instead of int32_t to read the packet size.

A negative packet size doesn't make sense, and the code currently doesn't try to handle that scenario (ie: all 4 stream decoders do `ptr += packetLen` and as such would move backwards if the length was negative.

Further, on the encoder side, uint32_t is used (e.g.:
http://cs/android/device/generic/goldfish-opengl/system/vulkan_enc/VkEncoder.cpp;l=122;rcl=b0df973dd65f81645707f65a12e8a196a5310ef2)

Test: compiles, runs

Change-Id: Iaa0ac3fe57a3c20b419ceebe80d3b8ccec4083d7
diff --git a/stream-servers/ReadBuffer.cpp b/stream-servers/ReadBuffer.cpp
index 8bc5237..a108cca 100644
--- a/stream-servers/ReadBuffer.cpp
+++ b/stream-servers/ReadBuffer.cpp
@@ -36,21 +36,21 @@
     free(m_buf);
 }
 
-void ReadBuffer::setNeededFreeTailSize(int size) {
+void ReadBuffer::setNeededFreeTailSize(size_t size) {
     m_neededFreeTailSize = size;
 }
 
-int ReadBuffer::getData(IOStream* stream, int minSize) {
+int ReadBuffer::getData(IOStream* stream, size_t minSize) {
     assert(stream);
-    assert(minSize > (int)m_validData);
+    assert(minSize > m_validData);
 
-    const int minSizeToRead = minSize - m_validData;
-    const int neededFreeTailThisTime =
+    const size_t minSizeToRead = minSize - m_validData;
+    const size_t neededFreeTailThisTime =
         std::max(minSizeToRead,
                  m_neededFreeTailSize);
 
-    int maxSizeToRead;
-    const int freeTailSize = m_buf + m_size - (m_readPtr + m_validData);
+    size_t maxSizeToRead;
+    const size_t freeTailSize = m_buf + m_size - (m_readPtr + m_validData);
     if (freeTailSize >= neededFreeTailThisTime) {
         maxSizeToRead = freeTailSize;
     } else {
@@ -63,10 +63,8 @@
             // Note: make sure we can fit at least two of the requested packets
             //  into the new buffer to minimize the reallocations and
             //  memmove()-ing stuff around.
-            size_t new_size = std::max<size_t>(
-                    2 * minSizeToRead + m_validData,
-                    2 * m_size);
-            if (new_size < m_size) {  // overflow check
+          size_t new_size = std::max(2 * minSizeToRead + m_validData, 2 * m_size);
+          if (new_size < m_size) {  // overflow check
                 new_size = INT_MAX;
             }
 
diff --git a/stream-servers/ReadBuffer.h b/stream-servers/ReadBuffer.h
index b7a970c..da40856 100644
--- a/stream-servers/ReadBuffer.h
+++ b/stream-servers/ReadBuffer.h
@@ -24,10 +24,10 @@
     explicit ReadBuffer(size_t bufSize);
     ~ReadBuffer();
 
-    void setNeededFreeTailSize(int size);
-    int getData(IOStream *stream, int minSize); // get fresh data from the stream
+    void setNeededFreeTailSize(size_t size);
+    int getData(IOStream *stream, size_t minSize); // get fresh data from the stream
     unsigned char *buf() { return m_readPtr; } // return the next read location
-    size_t validData() { return m_validData; } // return the amount of valid data in readptr
+    size_t validData() const { return m_validData; } // return the amount of valid data in readptr
     void consume(size_t amount); // notify that 'amount' data has been consumed;
 
     void onLoad(android::base::Stream* stream);
@@ -41,7 +41,7 @@
     size_t m_validData;
 
     uint64_t m_tailMoveTimeUs = 0;
-    int m_neededFreeTailSize = 0;
+    size_t m_neededFreeTailSize = 0;
 };
 
 }  // namespace emugl
diff --git a/stream-servers/RenderThread.cpp b/stream-servers/RenderThread.cpp
index 56557aa..87a810e 100644
--- a/stream-servers/RenderThread.cpp
+++ b/stream-servers/RenderThread.cpp
@@ -334,12 +334,12 @@
 
     uint32_t* seqnoPtr = nullptr;
 
-    while (1) {
+    while (true) {
         // Let's make sure we read enough data for at least some processing.
-        int packetSize;
+        uint32_t packetSize;
         if (readBuf.validData() >= 8) {
             // We know that packet size is the second int32_t from the start.
-            packetSize = *(const int32_t*)(readBuf.buf() + 4);
+            packetSize = *(uint32_t*)(readBuf.buf() + 4);
             if (!packetSize) {
                 // Emulator will get live-stuck here if packet size is read to be zero;
                 // crash right away so we can see these events.
@@ -353,7 +353,7 @@
         }
 
         int stat = 0;
-        if (packetSize > (int)readBuf.validData()) {
+        if (packetSize > readBuf.validData()) {
             stat = readBuf.getData(ioStream, packetSize);
             if (stat <= 0) {
                 if (doSnapshotOperation(snapshotObjects, SnapshotState::StartSaving)) {
@@ -380,9 +380,9 @@
             }
         }
 
-        DD("render thread read %d bytes, op %d, packet size %d",
-           (int)readBuf.validData(), *(int32_t*)readBuf.buf(),
-           *(int32_t*)(readBuf.buf() + 4));
+        DD("render thread read %i bytes, op %i, packet size %i",
+           readBuf.validData(), *(uint32_t*)readBuf.buf(),
+           *(uint32_t*)(readBuf.buf() + 4));
 
         //
         // log received bandwidth statistics
diff --git a/stream-servers/gles1_dec/gles1_dec.cpp b/stream-servers/gles1_dec/gles1_dec.cpp
index 16808f9..ecb93ad 100644
--- a/stream-servers/gles1_dec/gles1_dec.cpp
+++ b/stream-servers/gles1_dec/gles1_dec.cpp
@@ -34,7 +34,7 @@
     const bool useChecksum = checksumSize > 0;
 	while (end - ptr >= 8) {
 		uint32_t opcode = *(uint32_t *)ptr;   
-		int32_t packetLen = *(int32_t *)(ptr + 4);
+		uint32_t packetLen = *(uint32_t *)(ptr + 4);
 		if (end - ptr < packetLen) return ptr - (unsigned char*)buf;
 		switch(opcode) {
 		case OP_glAlphaFunc: {
diff --git a/stream-servers/gles2_dec/gles2_dec.cpp b/stream-servers/gles2_dec/gles2_dec.cpp
index 2677030..425d472 100644
--- a/stream-servers/gles2_dec/gles2_dec.cpp
+++ b/stream-servers/gles2_dec/gles2_dec.cpp
@@ -34,7 +34,7 @@
     const bool useChecksum = checksumSize > 0;
 	while (end - ptr >= 8) {
 		uint32_t opcode = *(uint32_t *)ptr;   
-		int32_t packetLen = *(int32_t *)(ptr + 4);
+		uint32_t packetLen = *(uint32_t *)(ptr + 4);
 		if (end - ptr < packetLen) return ptr - (unsigned char*)buf;
 		switch(opcode) {
 		case OP_glActiveTexture: {
diff --git a/stream-servers/renderControl_dec/renderControl_dec.cpp b/stream-servers/renderControl_dec/renderControl_dec.cpp
index 61c8f14..c6c3a6f 100644
--- a/stream-servers/renderControl_dec/renderControl_dec.cpp
+++ b/stream-servers/renderControl_dec/renderControl_dec.cpp
@@ -32,7 +32,7 @@
 	const unsigned char* const end = (const unsigned char*)buf + len;
 	while (end - ptr >= 8) {
 		uint32_t opcode = *(uint32_t *)ptr;   
-		int32_t packetLen = *(int32_t *)(ptr + 4);
+		uint32_t packetLen = *(uint32_t *)(ptr + 4);
 		if (end - ptr < packetLen) return ptr - (unsigned char*)buf;
         // Do this on every iteration, as some commands may change the checksum
         // calculation parameters.
diff --git a/stream-servers/vulkan/VkDecoder.cpp b/stream-servers/vulkan/VkDecoder.cpp
index 83ed0a6..58099d4 100644
--- a/stream-servers/vulkan/VkDecoder.cpp
+++ b/stream-servers/vulkan/VkDecoder.cpp
@@ -114,7 +114,7 @@
     while (end - ptr >= 8)
     {
         uint32_t opcode = *(uint32_t *)ptr;
-        int32_t packetLen = *(int32_t *)(ptr + 4);
+        uint32_t packetLen = *(uint32_t *)(ptr + 4);
         if (end - ptr < packetLen) return ptr - (unsigned char*)buf;
         stream()->setStream(ioStream);
         VulkanStream* vkStream = stream();
diff --git a/stream-servers/vulkan/VkSubDecoder.cpp b/stream-servers/vulkan/VkSubDecoder.cpp
index a46005f..1597945 100644
--- a/stream-servers/vulkan/VkSubDecoder.cpp
+++ b/stream-servers/vulkan/VkSubDecoder.cpp
@@ -33,7 +33,7 @@
     while (end - ptr >= 8)
     {
         uint32_t opcode = *(uint32_t *)ptr;
-        int32_t packetLen = *(int32_t *)(ptr + 4);
+        uint32_t packetLen = *(uint32_t *)(ptr + 4);
         if (end - ptr < packetLen) return ptr - (unsigned char*)buf;
         readStream->setBuf((uint8_t*)(ptr + 8));
         uint8_t* readStreamPtr = readStream->getBuf(); uint8_t** readStreamPtrPtr = &readStreamPtr;