提交 8acc1a5f 编写于 作者: S sherman

4853493: GZIPOutputStream passes a reference to a private array into an untrusted method

Summary: create a new header byte array for each header writeout
Reviewed-by: martin
上级 f8f31c38
...@@ -179,22 +179,19 @@ class GZIPOutputStream extends DeflaterOutputStream { ...@@ -179,22 +179,19 @@ class GZIPOutputStream extends DeflaterOutputStream {
/* /*
* Writes GZIP member header. * Writes GZIP member header.
*/ */
private final static byte[] header = {
(byte) GZIP_MAGIC, // Magic number (short)
(byte)(GZIP_MAGIC >> 8), // Magic number (short)
Deflater.DEFLATED, // Compression method (CM)
0, // Flags (FLG)
0, // Modification time MTIME (int)
0, // Modification time MTIME (int)
0, // Modification time MTIME (int)
0, // Modification time MTIME (int)
0, // Extra flags (XFLG)
0 // Operating system (OS)
};
private void writeHeader() throws IOException { private void writeHeader() throws IOException {
out.write(header); out.write(new byte[] {
(byte) GZIP_MAGIC, // Magic number (short)
(byte)(GZIP_MAGIC >> 8), // Magic number (short)
Deflater.DEFLATED, // Compression method (CM)
0, // Flags (FLG)
0, // Modification time MTIME (int)
0, // Modification time MTIME (int)
0, // Modification time MTIME (int)
0, // Modification time MTIME (int)
0, // Extra flags (XFLG)
0 // Operating system (OS)
});
} }
/* /*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册