hessian
diff --git a/pom.xml b/pom.xml
index cbee5eb..208810e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
<groupId>com.alibaba</groupId>
<artifactId>hessian-lite</artifactId>
<packaging>jar</packaging>
- <version>3.2.5-SNAPSHOT</version>
+ <version>3.2.7-SNAPSHOT</version>
<name>Hessian Lite(Alibaba embed version)</name>
<properties>
diff --git a/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2Input.java b/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2Input.java
index 3d1f731..9905ed9 100644
--- a/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2Input.java
+++ b/src/main/java/com/alibaba/com/caucho/hessian/io/Hessian2Input.java
@@ -3360,8 +3360,8 @@
case 'N':
return null;
- case 'B':
- case 'b':
+ case BC_BINARY:
+ case BC_BINARY_CHUNK:
_isLastChunk = tag == 'B';
_chunkLength = (read() << 8) + read();
break;
@@ -3385,7 +3385,10 @@
_isLastChunk = true;
_chunkLength = tag - 0x20;
break;
-
+ case 0x34: case 0x35: case 0x36: case 0x37:
+ _isLastChunk = true;
+ _chunkLength = (tag - 0x34) * 256 + read();
+ break;
default:
throw expect("binary", tag);
}
@@ -3408,13 +3411,13 @@
int code = read();
switch (code) {
- case 'b':
+ case BC_BINARY_CHUNK:
_isLastChunk = false;
_chunkLength = (read() << 8) + read();
break;
- case 'B':
+ case BC_BINARY:
_isLastChunk = true;
_chunkLength = (read() << 8) + read();
@@ -3439,7 +3442,10 @@
_isLastChunk = true;
_chunkLength = code - 0x20;
break;
-
+ case 0x34: case 0x35: case 0x36: case 0x37:
+ _isLastChunk = true;
+ _chunkLength = (code - 0x34) * 256 + read();
+ break;
default:
throw expect("byte[]", code);
}