You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@avro.apache.org by ie...@apache.org on 2020/06/09 10:02:36 UTC
[avro] 01/03: AVRO-2780: ProtobufData and ThriftData Can Get Into
Endless Loop (#908)
This is an automated email from the ASF dual-hosted git repository.
iemejia pushed a commit to branch branch-1.10
in repository https://gitbox.apache.org/repos/asf/avro.git
commit 54d8f793c234795514cb91ac2ff6dc290c5cee18
Author: belugabehr <12...@users.noreply.github.com>
AuthorDate: Mon Jun 8 08:58:18 2020 -0400
AVRO-2780: ProtobufData and ThriftData Can Get Into Endless Loop (#908)
---
.../protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java | 2 +-
lang/java/thrift/src/main/java/org/apache/avro/thrift/ThriftData.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java b/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java
index c4c0d9c..38f2d04 100644
--- a/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java
+++ b/lang/java/protobuf/src/main/java/org/apache/avro/protobuf/ProtobufData.java
@@ -138,7 +138,7 @@ public class ProtobufData extends GenericData {
try {
Class c = SpecificData.get().getClass(schema);
if (c == null)
- return newRecord(old, schema); // punt to generic
+ return super.newRecord(old, schema); // punt to generic
if (c.isInstance(old))
return old; // reuse instance
return c.getMethod("newBuilder").invoke(null);
diff --git a/lang/java/thrift/src/main/java/org/apache/avro/thrift/ThriftData.java b/lang/java/thrift/src/main/java/org/apache/avro/thrift/ThriftData.java
index eaf11c7..0e08318 100644
--- a/lang/java/thrift/src/main/java/org/apache/avro/thrift/ThriftData.java
+++ b/lang/java/thrift/src/main/java/org/apache/avro/thrift/ThriftData.java
@@ -159,7 +159,7 @@ public class ThriftData extends GenericData {
try {
Class c = ClassUtils.forName(SpecificData.getClassName(schema));
if (c == null)
- return newRecord(old, schema); // punt to generic
+ return super.newRecord(old, schema); // punt to generic
if (c.isInstance(old))
return old; // reuse instance
return c.newInstance(); // create new instance