Răsfoiți Sursa

- fix GZIP and ZIP serializer copying the whole temporary buffer instead
of only the part where the data was written.

Alrik 10 ani în urmă
părinte
comite
1eedfa5a5f

+ 2 - 1
jme3-networking/src/main/java/com/jme3/network/serializing/serializers/GZIPSerializer.java

@@ -87,7 +87,8 @@ public class GZIPSerializer extends Serializer {
         ByteArrayOutputStream byteArrayOutput = new ByteArrayOutputStream();
         GZIPOutputStream gzipOutput = new GZIPOutputStream(byteArrayOutput);
 
-        gzipOutput.write(tempBuffer.array());
+        tempBuffer.flip();
+		gzipOutput.write(tempBuffer.array(), 0, tempBuffer.limit());
         gzipOutput.flush();
         gzipOutput.finish();
         gzipOutput.close();

+ 2 - 1
jme3-networking/src/main/java/com/jme3/network/serializing/serializers/ZIPSerializer.java

@@ -98,7 +98,8 @@ public class ZIPSerializer extends Serializer {
         ZipEntry zipEntry = new ZipEntry("zip");
 
         zipOutput.putNextEntry(zipEntry);
-        zipOutput.write(tempBuffer.array());
+        tempBuffer.flip();
+        zipOutput.write(tempBuffer.array(), 0, tempBuffer.limit());
         zipOutput.flush();
         zipOutput.closeEntry();
         zipOutput.close();