EmuGL: Fix heap corruption

Off-by-two bug when removing textures from the tracking array could
overwrite malloc's mem chunk data structure, usually resulting in a
heap corruption abort on a later malloc/realloc/free.

Bug: 5951738
Change-Id: I11056bb62883373c2a3403f53899347ff8cdabf2
diff --git a/tools/emulator/opengl/shared/OpenglCodecCommon/GLClientState.cpp b/tools/emulator/opengl/shared/OpenglCodecCommon/GLClientState.cpp
index c689f83..87c68db 100644
--- a/tools/emulator/opengl/shared/OpenglCodecCommon/GLClientState.cpp
+++ b/tools/emulator/opengl/shared/OpenglCodecCommon/GLClientState.cpp
@@ -394,7 +394,7 @@
         if (texrec) {
             const TextureRec* end = m_tex.textures + m_tex.numTextures;
             memmove(texrec, texrec + 1,
-                    (end - texrec + 1) * sizeof(TextureRec));
+                    (end - texrec - 1) * sizeof(TextureRec));
             m_tex.numTextures--;
 
             for (TextureUnit* unit = m_tex.unit;