Merge master code and fix conflict
Signed-off-by: xiaolong.ran <ranxiaolong716@gmail.com>
diff --git a/Dockerfile b/Dockerfile
index dcf6010..ae4b56b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -25,10 +25,12 @@
RUN wget --no-cookies --no-check-certificate \
--header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
+
# make a new directory to store the jdk files
RUN mkdir -p /usr/local/java
RUN tar zxvf jdk-8u141-linux-x64.tar.gz
RUN mv jdk1.8.0_141 /usr/local/java/
+
# make a symbol link
RUN ln -s /usr/local/java/jdk1.8.0_141 /usr/local/java/jdk
@@ -43,7 +45,6 @@
COPY --from=pulsar /pulsar /pulsar
### Add test scripts
-
COPY integration-tests/certs /pulsar/certs
COPY integration-tests/tokens /pulsar/tokens
COPY integration-tests/standalone.conf /pulsar/conf
diff --git a/pkg/compression/zlib.go b/pkg/compression/zlib.go
index 4c3fba8..d5c575f 100644
--- a/pkg/compression/zlib.go
+++ b/pkg/compression/zlib.go
@@ -20,6 +20,7 @@
import (
"bytes"
"compress/zlib"
+ "io"
)
type zlibProvider struct{}
@@ -36,21 +37,31 @@
func (zlibProvider) Compress(data []byte) []byte {
var b bytes.Buffer
w := zlib.NewWriter(&b)
- w.Write(data)
- w.Close()
+
+ if _, err := w.Write(data); err != nil {
+ return nil
+ }
+ if err := w.Close(); err != nil {
+ return nil
+ }
return b.Bytes()
}
func (zlibProvider) Decompress(compressedData []byte, originalSize int) ([]byte, error) {
- r, err := zlib.NewReader(bytes.NewBuffer(compressedData))
+ r, err := zlib.NewReader(bytes.NewReader(compressedData))
if err != nil {
return nil, err
}
uncompressed := make([]byte, originalSize)
- r.Read(uncompressed)
- r.Close()
+ if _, err = io.ReadFull(r, uncompressed); err != nil {
+ return nil, err
+ }
+
+ if err = r.Close(); err != nil {
+ return nil, err
+ }
return uncompressed, nil
}