This is an automated email from the ASF dual-hosted git repository.
fokko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/avro.git
The following commit(s) were added to refs/heads/master by this push:
new 68708e7 AVRO-3129: Throw SchemaParseException when enum symbol is
null. (#1210)
68708e7 is described below
commit 68708e718c8f3731768644305b15fcdca2e30a77
Author: Ravindranath Kakarla <[email protected]>
AuthorDate: Sun May 9 14:20:09 2021 -0700
AVRO-3129: Throw SchemaParseException when enum symbol is null. (#1210)
Co-authored-by: Ravindranath Kakarla <[email protected]>
---
lang/java/avro/src/main/java/org/apache/avro/Schema.java | 2 ++
lang/java/avro/src/test/java/org/apache/avro/TestSchema.java | 5 +++++
2 files changed, 7 insertions(+)
diff --git a/lang/java/avro/src/main/java/org/apache/avro/Schema.java
b/lang/java/avro/src/main/java/org/apache/avro/Schema.java
index 9b75efd..89d0b32 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/Schema.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/Schema.java
@@ -1556,6 +1556,8 @@ public abstract class Schema extends JsonProperties
implements Serializable {
private static String validateName(String name) {
if (!validateNames.get())
return name; // not validating names
+ if (name == null)
+ throw new SchemaParseException("Null name");
int length = name.length();
if (length == 0)
throw new SchemaParseException("Empty name");
diff --git a/lang/java/avro/src/test/java/org/apache/avro/TestSchema.java
b/lang/java/avro/src/test/java/org/apache/avro/TestSchema.java
index b7e0dbe..90d235b 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/TestSchema.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/TestSchema.java
@@ -355,4 +355,9 @@ public class TestSchema {
assertEquals(1.0f, field.defaultVal());
assertEquals(1.0f, GenericData.get().getDefaultValue(field));
}
+
+ @Test(expected = SchemaParseException.class)
+ public void testEnumSymbolAsNull() {
+ Schema.createEnum("myField", "doc", "namespace",
Collections.singletonList(null));
+ }
}