This is an automated email from the ASF dual-hosted git repository. wangxin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/master by this push: new 600f0db Fixes a bug in gson's deserialization feature (#5099) 600f0db is described below commit 600f0db5fa3516fcee5e9b70e4bf100e49741840 Author: 张志勇 <goodj...@163.com> AuthorDate: Tue Sep 24 08:32:29 2019 +0800 Fixes a bug in gson's deserialization feature (#5099) --- .../java/org/apache/dubbo/rpc/protocol/dubbo/DecodeableRpcResult.java | 2 +- .../org/apache/dubbo/common/serialize/gson/GsonJsonObjectInput.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/DecodeableRpcResult.java b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/DecodeableRpcResult.java index 9515a1b..0b53dc5 100644 --- a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/DecodeableRpcResult.java +++ b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/DecodeableRpcResult.java @@ -141,7 +141,7 @@ public class DecodeableRpcResult extends AppResponse implements Codec, Decodeabl private void handleException(ObjectInput in) throws IOException { try { - Object obj = in.readObject(); + Object obj = in.readObject(Throwable.class); if (!(obj instanceof Throwable)) { throw new IOException("Response data error, expect Throwable, but get " + obj); } diff --git a/dubbo-serialization/dubbo-serialization-gson/src/main/java/org/apache/dubbo/common/serialize/gson/GsonJsonObjectInput.java b/dubbo-serialization/dubbo-serialization-gson/src/main/java/org/apache/dubbo/common/serialize/gson/GsonJsonObjectInput.java index 056d719..239841a 100644 --- a/dubbo-serialization/dubbo-serialization-gson/src/main/java/org/apache/dubbo/common/serialize/gson/GsonJsonObjectInput.java +++ b/dubbo-serialization/dubbo-serialization-gson/src/main/java/org/apache/dubbo/common/serialize/gson/GsonJsonObjectInput.java @@ -90,7 +90,7 @@ public class GsonJsonObjectInput implements ObjectInput { @Override public Object readObject() throws IOException, ClassNotFoundException { String json = readLine(); - return gson.fromJson(json, String.class); + return gson.fromJson(json, Object.class); } @Override